Hi,
When i expand a row in dynamic radgrid, i get error "Microsoft Jsscript runtime error: 'null' is null or not an object" on client side. I have used Client HierarchyLoadMode.
Please see the error attached. Please help, it is killing me.
Code behind:
Thanks in Advance for your help.
Ashok
When i expand a row in dynamic radgrid, i get error "Microsoft Jsscript runtime error: 'null' is null or not an object" on client side. I have used Client HierarchyLoadMode.
OrdersGridz.MasterTableView.HierarchyLoadMode =
GridChildLoadMode.Client;
Please see the error attached. Please help, it is killing me.
Code behind:
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; } } }Thanks in Advance for your help.
Ashok