Hi,
I try to bind master detail on client side. It binds master table but not its associate detail table. Can you help me in this regard that where I get wrong?
Thanks
My Code:
I try to bind master detail on client side. It binds master table but not its associate detail table. Can you help me in this regard that where I get wrong?
Thanks
My Code:
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default4.aspx.cs" Inherits="TestGrid._Default4" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title>Untitled Page</title> |
| <script type="text/javascript" src="script/jquery/1.3.2/jquery.js"></script> |
| <script type="text/javascript" src="json.js"></script> |
| <telerik:RadScriptBlock ID="SB" runat="server"> |
| <script type="text/javascript"> |
| var companies = null; |
| var empId = -1000; |
| var curDataItem = null; |
| var companyId = -100; |
| $(document).ready(pageLoad); |
| function pageLoad() |
| { |
| companies = [{"CompanyID":1,"CompanyName":"Moftak","Employees":[{"CompanyId":1,"FirstName":"Naeem","EmployeeID":1,"LastName":"Dad","Title":"","TitleId":0,"BirthDate":"","ShiftStart":"","JoinDate":""},{"CompanyId":1,"FirstName":"Nabil","EmployeeID":2,"LastName":"Manzoor","Title":"","TitleId":0,"BirthDate":"","ShiftStart":"","JoinDate":""}]}]; |
| var grd = $find("<%= RadGrid1.ClientID %>"); |
| if(grd != null) |
| { |
| grd.get_masterTableView().rebind(); |
| grd.get_detailTables()[0].rebind(); |
| } |
| } |
| function OnCommand(sender,args) |
| { |
| args.set_cancel(true); |
| if(args.get_commandName() == "RebindGrid") |
| { |
| resetContainers(); |
| if(args.get_tableView().get_name() == "Company") |
| { |
| sender.get_masterTableView().set_dataSource(companies); |
| sender.get_masterTableView().dataBind(); |
| } |
| if(args.get_tableView().get_name() == "Employee") |
| { |
| args.get_tableView().set_dataSource(companies[0].Employees); |
| args.get_tableView().dataBind(); |
| } |
| } |
| } |
| function popupAddEmployee() |
| { |
| var oWnd = window.radopen("add-employee.aspx" , "radWindow1"); |
| oWnd.SetSize(500,400); |
| oWnd.Center(); |
| return false; |
| } |
| function addEmployee(employee) |
| { |
| employee.CompanyID = 1; |
| employee.EmployeeID = empId--; |
| var grd = $find("<%= RadGrid1.ClientID %>"); |
| for(var i=0;i<companies.length;i++) |
| { |
| if(companies[i].CompanyID == employee.CompanyID) |
| { |
| var company = companies[i]; |
| if(company != null) |
| { |
| company.Employees[company.Employees.length] = employee; |
| document.getElementById("hdCompanies").value = $.toJSON(companies); |
| //grd.get_masterTableView().rebind(); |
| grd.get_detailTables()[0].rebind(); |
| } |
| break; |
| } |
| } |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </head> |
| <body > |
| <telerik:RadWindowManager ID="eiditCustomFields" runat="server" DestroyOnClose="true" ShowContentDuringLoad="false" Skin="Office2007"> |
| <Windows> |
| <telerik:RadWindow ID="radWindow1" runat="server" style="display:none" Behavior="default"></telerik:RadWindow> |
| </Windows> |
| </telerik:RadWindowManager> |
| <form id="form1" runat="server"> |
| <div> |
| <asp:ScriptManager ID="ScriptManager1" runat="server" ></asp:ScriptManager> |
| <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1NeedDataSource" OnDetailTableDataBind = "DetailTableDataBind" > |
| <MasterTableView AutoGenerateColumns="false" AllowAutomaticInserts="true" DataKeyNames="CompanyID" Name="Company" |
| CommandItemDisplay="Top" HierarchyLoadMode="Client"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="CompanyID" UniqueName="CompanyID" Display="false" DataType="System.Int32" > |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="CompanyName" UniqueName="CompanyName" HeaderText="Company Name"> |
| <ItemStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| </Columns> |
| <DetailTables> |
| <telerik:GridTableView runat="server" DataKeyNames="EmployeeID" AutoGenerateColumns="false" Name="Employee" > |
| <ParentTableRelation> |
| <telerik:GridRelationFields DetailKeyField="CompanyID" MasterKeyField="CompanyID" /> |
| </ParentTableRelation> |
| <ExpandCollapseColumn Visible="False"> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <Columns> |
| <telerik:GridBoundColumn DataField="CompanyID" Display="false" DataType="System.Int32" > |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="EmployeeID" Display="false" DataType="System.Int32" > |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name"> |
| <ItemStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="LastName" HeaderText="Last Name"> |
| <ItemStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="TitleId" Display="false" DataType="System.Int32"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Title" HeaderText="Title" UniqueName="Title" > |
| <ItemStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="BirthDate" HeaderText="BirthDate" > |
| <ItemStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="ShiftStart" UniqueName="ShiftStart" HeaderText="Shift Start" > |
| <ItemStyle Width="150px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="JoinDate" UniqueName="JoinDate" HeaderText="JoinDate" > |
| <ItemStyle Width="150px" /> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| <CommandItemTemplate> |
| <input type="button" value="Add Employee" id="add" onclick="popupAddEmployee();" /> |
| </CommandItemTemplate> |
| </MasterTableView> |
| <ClientSettings> |
| <ClientEvents OnCommand="OnCommand" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| </div> |
| </form> |
| </body> |
| </html> |