Product Bundles
DevCraft
All Telerik .NET and Kendo UI JavaScript components and AI Tools in one package.
Kendo UI
Bundle of AI Tools plus four JavaScript UI libraries built natively for jQuery, Angular, React and Vue.
Telerik
Build great .NET business apps
.Net Web
Cross-Platform
Desktop
Reporting and Documents
Testing & Mocking
Debugging
Build JavaScript UI
Javascript
AI for Developers & IT
Ensure AI program success
AI Coding
Additional Tools
Enhance the developer and designer experience
UI/UX Tools
Free Tools
CMS
Support and Learning
Productivity and Design Tools
Hi Priyanka,
Please ensure the ListBox has the AutoPostBack set to true, to trigger the SelectedIndexChanged event:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource" OnDetailTableDataBind="RadGrid1_DetailTableDataBind"> <MasterTableView Name="Orders" AutoGenerateColumns="False" DataKeyNames="OrderID"> <Columns> <telerik:GridNumericColumn DataField="OrderID" DataType="System.Int32" FilterControlAltText="Filter OrderID column" HeaderText="OrderID" ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID"> </telerik:GridNumericColumn> </Columns> <DetailTables> <telerik:GridTableView Name="OrderDetails" AutoGenerateColumns="false"> <Columns> <telerik:GridNumericColumn DataField="OrderID" DataType="System.Int32" FilterControlAltText="Filter OrderID column" HeaderText="OrderID" ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID"> </telerik:GridNumericColumn> <telerik:GridTemplateColumn> <ItemTemplate> <telerik:RadListBox runat="server" ID="RadListBoxInGrid" OnSelectedIndexChanged="RadListBoxInGrid_SelectedIndexChanged" AutoPostBack="true"> <Items> <telerik:RadListBoxItem Text="Item 1" /> <telerik:RadListBoxItem Text="Item 2" /> <telerik:RadListBoxItem Text="Item 3" /> <telerik:RadListBoxItem Text="Item 4" /> </Items> </telerik:RadListBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> </MasterTableView> </telerik:RadGrid> <telerik:RadListBox runat="server" ID="RadListBox1" OnSelectedIndexChanged="RadListBox1_SelectedIndexChanged" AutoPostBack="true"> <Items> <telerik:RadListBoxItem Text="Item 1" /> <telerik:RadListBoxItem Text="Item 2" /> <telerik:RadListBoxItem Text="Item 3" /> <telerik:RadListBoxItem Text="Item 4" /> </Items> </telerik:RadListBox>
protected void RadListBox1_SelectedIndexChanged(object sender, EventArgs e) { int index = RadListBox1.SelectedIndex; } protected void RadListBoxInGrid_SelectedIndexChanged(object sender, EventArgs e) { int index = RadListBox1.SelectedIndex; } protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { (sender as RadGrid).DataSource = OrdersTable(); } protected void RadGrid1_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e) { if (e.DetailTableView.Name == "OrderDetails") { GridDataItem parentItem = e.DetailTableView.ParentItem; int orderId = (int)parentItem.GetDataKeyValue("OrderID"); e.DetailTableView.DataSource = OrderDetailsTable().Select(string.Format("OrderID = '{0}'", orderId)); } } private DataTable OrdersTable() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("OrderID", typeof(int))); dt.PrimaryKey = new DataColumn[] { dt.Columns["OrderID"] }; for (int i = 0; i < 3; i++) { int index = i + 1; DataRow row = dt.NewRow(); row["OrderID"] = index; dt.Rows.Add(row); } return dt; } private DataTable OrderDetailsTable() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("OrderID", typeof(int))); var orders = OrdersTable(); int itemsPerOrder = 4; for (int rowIndex = 0; rowIndex < orders.Rows.Count; rowIndex++) { DataRow currentOrder = orders.Rows[rowIndex]; for (int j = 0; j < itemsPerOrder; j++) { int index = j + 1; DataRow row = dt.NewRow(); row["OrderID"] = currentOrder["OrderID"]; dt.Rows.Add(row); } } return dt; }
Regards, Vasko Progress Telerik