RadControls for ASP.NET AJAX
There is no default event for editor changes in grid columns - it is up to the developer
to attach events to these editors when necessary. This operation can be performed hooking the
ItemCreated event of Telerik RadGrid. For example - in case with
GridDropDownColumn
you have to:
-
Check whether the currently created grid item is
GridDataItem
and is in edit mode
-
Locate the dropdown list editor in the Controls collection of the cell which corresponds to the GridDropDownList column
-
Mark it with AutoPostBack = true and wire a handler to its SelectedIndexChanged event. Then in the SelectedIndexChanged handler you can update the selected value for the second dropdown.
CopyASPX
<telerik:RadGrid ID="RadGrid1" runat="server">
<MasterTableView EditMode="InPlace" AutoGenerateColumns="False">
<Columns>
<telerik:GridBoundColumn HeaderText="CustomerID" DataField="CustomerID" UniqueName="CustomerID">
</telerik:GridBoundColumn>
<telerik:GridDropDownColumn HeaderText="ContactName" ListDataMember="Customers" ListTextField="ContactName"
DataField="CustomerID" UniqueName="DropDownColumn1" ListValueField="CustomerID">
</telerik:GridDropDownColumn>
<telerik:GridDropDownColumn HeaderText="ContactTitle" ListDataMember="Customers"
ListTextField="ContactTitle" DataField="CustomerID" UniqueName="DropDownColumn2"
ListValueField="CustomerID">
</telerik:GridDropDownColumn>
<telerik:GridEditCommandColumn UniqueName="EditCommandColumn">
</telerik:GridEditCommandColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
CopyVB.NET
Private Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemCreated
If (TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode) Then
Dim list As DropDownList =
CType(CType(e.Item, GridEditableItem)("DropDownColumn1").Controls(0),
DropDownList)
list.AutoPostBack = True
AddHandler list.SelectedIndexChanged, AddressOf list_SelectedIndexChanged
End If
End Sub
Private Sub list_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
CopyC#
private void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
DropDownList list = (e.Item as GridEditableItem)["DropDownColumn1"].Controls[0] as DropDownList;
list.AutoPostBack = true;
list.SelectedIndexChanged += new System.EventHandler(this.list_SelectedIndexChanged);
}
}
private void list_SelectedIndexChanged(object sender, System.EventArgs e)
{
}