or
<telerik:RadGrid runat="server" ID="ledger" Width="900px" AllowSorting="true" AllowPaging="true" AutoGenerateColumns="false" PageSize="10" AllowFilteringByColumn="true" OnNeedDataSource="ledger_NeedDataSource" OnDetailTableDataBind="ledger_DetailTableDataBind" AllowMultiRowSelection="False"> <GroupingSettings CaseSensitive="false" /> <ClientSettings EnableRowHoverStyle="true" EnableAlternatingItems="true"> <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True"/> </ClientSettings> <MasterTableView DataKeyNames="SubstanceId, Name, CAS" ClientDataKeyNames="SubstanceId" ShowHeadersWhenNoRecords="true" CommandItemDisplay="None" Font-Size="10"> <DetailTables> <telerik:GridTableView runat="server" Name="SuggestedComponents" PageSize="5" AllowFilteringByColumn="False" AllowSorting="False" AutoGenerateColumns="False" ShowFooter="True"> <Columns> <telerik:GridBoundColumn HeaderText="Name" UniqueName="SuggestionPrimaryName" DataType="System.String" AllowSorting="False" AllowFiltering="False" DataField="PrimaryName" /> <telerik:GridBoundColumn HeaderText="CAS" UniqueName="SuggestionCAS" DataType="System.String" AllowSorting="False" AllowFiltering="False" DataField="CAS" /> <telerik:GridClientSelectColumn UniqueName="SuggestionSelect" /> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn AllowSorting="true" DataType="System.String" UniqueName="SubstanceName" HeaderText="Name" DataField="Name" /> <telerik:GridBoundColumn AllowSorting="true" DataType="System.String" UniqueName="CAS" HeaderText="CAS" DataField="CAS" /> <telerik:GridBoundColumn AllowSorting="true" DataType="System.String" UniqueName="ProductCode" HeaderText="Product Code" DataField="ProductCode" /> <telerik:GridBoundColumn AllowSorting="true" DataType="System.String" UniqueName="ClientSubstanceId" HeaderText="Client ID" DataField="ClientSubstanceId" /> </Columns> </MasterTableView></telerik:RadGrid>OrdersGridz.MasterTableView.HierarchyLoadMode =
GridChildLoadMode.Client;
public void LoadDynamicData() { List<Orders> lstOrders = new List<Orders>(); lstOrders.Add(new Orders() { CompanyName = "Readable VoiceMail", OrderID = 1, OrderDate = DateTime.Now, TelNumbers = "1234567890" }); lstOrders.Add(new Orders() { CompanyName = "Call Blocking", OrderID = 3, OrderDate = DateTime.Now, TelNumbers = "1234567890" }); lstOrders.Add(new Orders() { CompanyName = "Readable VoiceMail", OrderID = 2, OrderDate = DateTime.Now, TelNumbers = "1237894560" }); var telNumbers = (from dbo in lstOrders select dbo.TelNumbers).Distinct().OrderBy(TelNumbers => TelNumbers); RadGrid OrdersGridz = new RadGrid(); foreach (string tel in telNumbers) { OrdersGridz = new RadGrid { ID = "OrdersGridz" }; OrdersGridz.ClientSettings.AllowExpandCollapse = true; OrdersGridz.DetailTableDataBind += new GridDetailTableDataBindEventHandler(OrdersGridz_DetailTableDataBind); OrdersGridz.EnableLinqExpressions = false; OrdersGridz.MasterTableView.ShowHeader = true; GridTableView tableViewOrders = new GridTableView(OrdersGridz); tableViewOrders.ClientDataKeyNames = new string[] { "OrderID" }; tableViewOrders.DataKeyNames = new string[] { "OrderID" }; tableViewOrders.Name = "Orders"; tableViewOrders.AutoGenerateColumns = true; GridRelationFields relationFields = new GridRelationFields(); relationFields.MasterKeyField = "OrderID"; relationFields.DetailKeyField = "OrderID"; tableViewOrders.ParentTableRelation.Add(relationFields); OrdersGridz.MasterTableView.AutoGenerateColumns = true; OrdersGridz.MasterTableView.ClientDataKeyNames = new string[] { "OrderID" }; OrdersGridz.MasterTableView.DataKeyNames = new string[] { "OrderID" }; OrdersGridz.MasterTableView.HierarchyLoadMode = GridChildLoadMode.Client; OrdersGridz.MasterTableView.DetailTables.Add(tableViewOrders); OrdersGridz.InsertCommand+=new GridCommandEventHandler(OrdersGridz_InsertCommand);
var lstOrdersz = (from dbo in lstOrders select dbo).Where(x => x.TelNumbers.Equals(tel)).ToList(); OrdersGridz.DataSource = lstOrdersz; OrdersGridz.DataBind(); //adding raddock dynamically RadDock dock = new RadDock(); dock.ID = tel; dock.Title = tel; dock.DockMode = DockMode.Docked; dock.EnableDrag = false; dock.Commands.Add(new DockExpandCollapseCommand()); dock.Command += new DockCommandEventHandler(dock_Command); dock.ContentContainer.Controls.Add(OrdersGridz); RadDockZone5.Controls.Add(dock); } } protected void OrdersGridz_InsertCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == RadGrid.ExpandCollapseCommandName) { } } protected void OrdersGridz_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) { List<Products> lstProducts = new List<Products>(); lstProducts.Add(new Products() { ProductName = "A", UnitPrice = 0, OrderID = 1 }); lstProducts.Add(new Products() { ProductName = "B", UnitPrice = 0, OrderID = 1 }); lstProducts.Add(new Products() { ProductName = "C", UnitPrice = 0, OrderID = 1 }); lstProducts.Add(new Products() { ProductName = "X", UnitPrice = 0, OrderID = 2 }); lstProducts.Add(new Products() { ProductName = "Y", UnitPrice = 0, OrderID = 2 }); lstProducts.Add(new Products() { ProductName = "M", UnitPrice = 0, OrderID = 3 }); lstProducts.Add(new Products() { ProductName = "N", UnitPrice = 0, OrderID = 3 }); lstProducts.Add(new Products() { ProductName = "O", UnitPrice = 0, OrderID = 3 }); lstProducts.Add(new Products() { ProductName = "P", UnitPrice = 0, OrderID = 3 }); GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem; switch (e.DetailTableView.Name) { case "Orders": { string OrderID = dataItem.GetDataKeyValue("OrderID").ToString(); e.DetailTableView.DataSource = lstProducts.Where(x => x.OrderID.ToString().Equals(OrderID, StringComparison.OrdinalIgnoreCase)).ToList(); break; } } }public void saveCheckedPrivileges(){ int test = RadTreeView2.CheckedNodes.Count; if (RadTreeView2.CheckedNodes.Count > 0) { IList<RadTreeNode> nodeCollection = RadTreeView2.CheckedNodes; string startingRec = null; string[] val = null;<br> List<string[]> valsToStore = new List<string[]>(); foreach (RadTreeNode node in nodeCollection) { string fileid = node.Value.ToString(); //Do Whatever with checked value }}