The following code doesn't work - it doesn't cause the controls to fire their client-side events in edit mode - any thoughts?
CS:
protectedvoidrgRepricingApproval_ItemCreated(objectsender, GridItemEventArgs e) { if(e.Item isGridEditableItem && e.Item.IsInEditMode) { GridEditableItem item = (GridEditableItem)e.Item; GridEditManager editMan = item.EditManager; GridNumericColumnEditor editorAgreedSellPrice = (GridNumericColumnEditor)editMan.GetColumnEditor("AgreedSellPrice"); RadNumericTextBox txtAgreedSellPrice = editorAgreedSellPrice.NumericTextBox; txtAgreedSellPrice.ClientEvents.OnValueChanged += string.Format("return ToggleValues({0});", e.Item.ItemIndex); RadDropDownList rcbHibernate = (RadDropDownList)item.FindControl("ddlHibernateID"); rcbHibernate.OnClientSelectedIndexChanged += string.Format("return ToggleValues({0});", e.Item.ItemIndex); // ONLY THIS WORKS (non-Telerik) CheckBox chkIsError = (CheckBox)item.FindControl("chkIsError"); chkIsError.Attributes["onchange"] += string.Format("return ToggleValues({0});", e.Item.ItemIndex); } }
ASPX:
<telerik:GridNumericColumnHeaderText="Agreed Sell Price"UniqueName="AgreedSellPrice"DataField="AgreedSellPrice"NumericType="Currency"DecimalDigits="3"ColumnEditorID="ceAgreedSellPrice"> <HeaderStyleWidth="120px"/> <ItemStyleWidth="120px"/> </telerik:GridNumericColumn> <telerik:GridTemplateColumnHeaderText="Hibernate Period"UniqueName="HibernateID"DataField="HibernateID"ConvertEmptyStringToNull="true"> <HeaderStyleWidth="110px"CssClass="headerHibernate"/> <ItemStyleWidth="110px"Height="50px"/> <ItemTemplate> <asp:Labelrunat="server"ID="lblHibernate"Text='<%# Eval("Hibernate.HibernateText") %>' /> </ItemTemplate> <EditItemTemplate> <telerik:RadDropDownListrunat="server"ID="ddlHibernateID"AppendDataBoundItems="true"DataSourceID="edsHibernate"DataValueField="HibernateID"DataTextField="HibernateText"> <Items> <telerik:DropDownListItemValue=""Text=""/> </Items> </telerik:RadDropDownList> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumnHeaderText="Error?"UniqueName="Error"AllowSorting="false"AllowFiltering="false"> <HeaderStyleWidth="60px"CssClass="headerError"/> <ItemStyleWidth="60px"HorizontalAlign="Center"/> <ItemTemplate> <asp:CheckBoxID="chkIsError"runat="server"/> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumnHeaderText="Error Reason"UniqueName="ErrorReason"DataField="ErrorReason"> <HeaderStyleWidth="200px"CssClass="headerError"/> <ItemStyleWidth="200px"/> <ItemTemplate> <asp:TextBoxID="txtErrorReason"runat="server"TextMode="MultiLine"Columns="20"Rows="2"Enabled="false"/> </ItemTemplate> </telerik:GridTemplateColumn> All items are in edit mode:
protected void rgRepricingApproval_PreRender(object sender, EventArgs e)
{
for (int i = 0; i < rgRepricingApproval.MasterTableView.PageSize; i++)
{
rgRepricingApproval.EditIndexes.Add(i);
}
rgRepricingApproval.Rebind();
}