The following code doesn't work - it doesn't cause the controls to fire their client-side events in edit mode - any thoughts?
CS:
protected void rgRepricingApproval_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && 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:GridNumericColumn HeaderText="Agreed Sell Price" UniqueName="AgreedSellPrice" DataField="AgreedSellPrice" NumericType="Currency" DecimalDigits="3" ColumnEditorID="ceAgreedSellPrice"> <HeaderStyle Width="120px" /> <ItemStyle Width="120px" /> </telerik:GridNumericColumn> <telerik:GridTemplateColumn HeaderText="Hibernate Period" UniqueName="HibernateID" DataField="HibernateID" ConvertEmptyStringToNull="true"> <HeaderStyle Width="110px" CssClass="headerHibernate" /> <ItemStyle Width="110px" Height="50px" /> <ItemTemplate> <asp:Label runat="server" ID="lblHibernate" Text='<%# Eval("Hibernate.HibernateText") %>' /> </ItemTemplate> <EditItemTemplate> <telerik:RadDropDownList runat="server" ID="ddlHibernateID" AppendDataBoundItems="true" DataSourceID="edsHibernate" DataValueField="HibernateID" DataTextField="HibernateText"> <Items> <telerik:DropDownListItem Value="" Text="" /> </Items> </telerik:RadDropDownList> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Error?" UniqueName="Error" AllowSorting="false" AllowFiltering="false"> <HeaderStyle Width="60px" CssClass="headerError" /> <ItemStyle Width="60px" HorizontalAlign="Center" /> <ItemTemplate> <asp:CheckBox ID="chkIsError" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Error Reason" UniqueName="ErrorReason" DataField="ErrorReason"> <HeaderStyle Width="200px" CssClass="headerError" /> <ItemStyle Width="200px" /> <ItemTemplate> <asp:TextBox ID="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();
}
