I have created hierarchy grid as show in below. I am able to get the values of mastertabel in client side as shown below and i am not able to get the values of the row of the detail table in client side. My code is below , Please help me in this regards
function OpenRoom(spName,LabelName)
{
if (btnclick())
{
var Location=document.getElementById("ctl00$ContentPlaceHolder1$radTxtLocation").value;
var mode="New"//document.getElementById("ctl00$ContentPlaceHolder1$hdnMode").value;
var oWnd = radopen ("../Admin/LocationPopup.aspx?spName=" + spName +"&LabelName="+ LabelName+"&Location="+Location+"&Mode="+mode, null);
oWnd.set_title(
"One Intranet Corporation - " + LabelName);
oWnd.setSize (600, 400);
oWnd.Center();
}
}
function OpenZone(id, rowIndex)
{
var oWnd = radopen ("../Admin/LocationPopup.aspx?spName=sathiesZonesTranslationTableInsertOrUpdate&LabelName=Zone&RID="+id, null);
oWnd.set_title(
"One Intranet Corporation -Zones " );
oWnd.setSize (600, 400);
oWnd.Center();
}
function ShowZoneEditForm(id, rowIndex)
{
var grid = $find("<%= RadGrid1.ClientID %>");
// var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex];
var rowControl = grid.get_tableView();
alert(rowControl);
//grid.get_masterTableView().selectItem(rowControl, true);
var Zname = rowControl.getDataKeyValue("ZONENAME");
var TCode=rowControl.getDataKeyValue("TRANSLATEDCODE");
alert(Zname);
var Score=rowControl.getDataKeyValue("ZONESCORE") ;
var ZDate= rowControl.getDataKeyValue("ZONEVALIDTILL")
var ZTid= rowControl.getDataKeyValue("ZONETRANSLATEDID") ;
var Rid= rowControl.getDataKeyValue("ROOMID") ;
var oWnd = radopen ("../Admin/LocationPopup.aspx?spName=sathiesZonesTranslationTableInsertOrUpdate&LabelName=Zone&RID="+
Rid+
"&ZID="+id+"&TCode="+TCode+"&Mode=Edit&ZTID="+ZTid+"&ZoneName="+Zname+"&Score="+Score+"&Date="+ZDate, null);
oWnd.set_title(
"One Intranet Corporation - Room");
oWnd.setSize (600, 400);
oWnd.Center();
return false;
}
function ShowEditForm(id, rowIndex)
{
var grid = $find("<%= RadGrid1.ClientID %>");
var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex];
//grid.get_masterTableView().selectItem(rowControl, true);
var Rname = rowControl.getDataKeyValue("ROOMNAME");
var TCode=rowControl.getDataKeyValue("TRANSLATEDCODE");
// alert(TCode);
var Score=rowControl.getDataKeyValue("ROOMSCORE") ;
var RDate= rowControl.getDataKeyValue("ROOMVALIDTILL")
var RTid= rowControl.getDataKeyValue("ROOMTRANSLATEDID") ;
var Lid=document.getElementById("ctl00$ContentPlaceHolder1$hdnLocationID").value;
var Location=document.getElementById("ctl00$ContentPlaceHolder1$radTxtLocation").value;
var mode="Edit"//document.getElementById("ctl00$ContentPlaceHolder1$hdnMode").value;
var oWnd = radopen ("../Admin/LocationPopup.aspx?spName=RoomsTranslationTableInsertOrUpdate&LabelName=Room&Location="
+Location+
"&Mode="+mode+"&ID="+Lid+"&TCode="+TCode+"&RTID="+RTid+"&RoomName="+Rname+"&Score="+Score+"&Date="+RDate+"&RID="+id, null);
oWnd.set_title(
"One Intranet Corporation - Room");
oWnd.setSize (600, 400);
oWnd.Center();
return false;
}
<telerik:RadGrid ID="RadGrid1" OnItemCreated="RadGrid1_ItemCreated" OnItemCommand="RadGrid1_ItemCommand"
AutoGenerateColumns="false" PageSize="10" AllowPaging="true" OnDetailTableDataBind="RadGrid1_DetailTableDataBind"
OnNeedDataSource="RadGrid1_NeedDataSource" runat="server">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView Name="Master" NoMasterRecordsText="No record" NoDetailRecordsText="No record"
ClientDataKeyNames="ROOMID,TRANSLATEDCODE,ROOMTRANSLATEDID,ROOMNAME,ROOMSCORE,ROOMVALIDTILL"
DataKeyNames="ROOMNAME,ROOMID,LOCATIONID,TRANSLATEDCODE,ROOMTRANSLATEDID,ROOMSCORE,ROOMVALIDTILL">
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblRoom" runat="server" Text="Rooms"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblRoomDs" runat="server" Text='<%#Eval("ROOMNAME") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblRoomScore" runat="server" Text='<%#Eval("ROOMSCORE") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblRoomDate" runat="server" Text='<%#Eval("ROOMVALIDTILL") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnEditRoom" runat="server" Text="Edit" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnDelRoom" runat="server" Text="Delete" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnAddZone"
runat="server" Text="Add Zone" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<DetailTables>
<telerik:GridTableView Width="100%" AutoGenerateColumns="false" HierarchyLoadMode="ServerOnDemand"
runat="server" Name="Detail1"
DataKeyNames="ZONENAME,TRANSLATEDCODE,ZONETRANSLATEDID, ZONEID,ROOMID,ZONESCORE,ZONEVALIDTILL"
ClientDataKeyNames="ZONENAME,ZONETRANSLATEDID,TRANSLATEDCODE, ZONEID,ROOMID,ZONESCORE,ZONEVALIDTILL">
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblZones" runat="server" Text="Zones"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblZonesDs" runat="server" Text='<%#Eval("ZONENAME") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblZoneScore" runat="server" Text='<%#Eval("ZONESCORE") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblZoneDate" runat="server" Text='<%#Eval("ZONEVALIDTILL") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnZoneEdit" CommandName="EditZones" runat="server" Text="Edit" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnZoneDel" runat="server" Text="Delete" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnAddElement"
runat="server" Text="Add Element" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="ROOMID" MasterKeyField="ROOMID" />
</ParentTableRelation>
<DetailTables>
<telerik:GridTableView Width="100%" HierarchyLoadMode="ServerOnDemand" runat="server"
Name="Detail2" DataKeyNames="ELEMENTNAME,TRANSLATEDCODE, ZONEID,ELEMENTID,ELEMENTSCORE,ELEMENTVALIDTILL"
ClientDataKeyNames="ELEMENTNAME,TRANSLATEDCODE, ZONEID,ELEMENTID,ELEMENTSCORE,ELEMENTVALIDTILL">
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblElements" runat="server" Text="Elements"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblElementDs" runat="server" Text='<%#Eval("ELEMENTNAME") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblElementScore" runat="server" Text='<%#Eval("ELEMENTSCORE") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblElementDate" runat="server" Text='<%#Eval("ELEMENTVALIDTILL") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnElementEdit" OnClientClick="openRadWindow('TranslationTableInsertOrUpdate','Elements','btnAddRoom'); return false;"
runat="server" Text="Edit" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="btnElementDel" runat="server" Text="Delete" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="ZONEID" MasterKeyField="ZONEID" />
</ParentTableRelation>
</telerik:GridTableView>
</DetailTables>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
</telerik:RadGrid>
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
if (e.Item.OwnerTableView.Name == "Master")
{
Button editLink = (Button)e.Item.FindControl("btnEditRoom");
editLink.Attributes[
"href"] = "#";
editLink.Attributes[
"onclick"] = String.Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ROOMID"], e.Item.ItemIndex);
Button addLink = (Button)e.Item.FindControl("btnAddZone");
addLink.Attributes[
"href"] = "#";
addLink.Attributes[
"onclick"] = String.Format("return OpenZone('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ROOMID"], e.Item.ItemIndex);
}
if (e.Item.OwnerTableView.Name == "Detail1")
{
Button editLink = (Button)e.Item.FindControl("btnZoneEdit");
editLink.Attributes[
"href"] = "#";
editLink.Attributes[
"onclick"] = String.Format("return ShowZoneEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ZONEID"], e.Item.ItemIndex);
Button addLink = (Button)e.Item.FindControl("btnAddElement");
addLink.Attributes[
"href"] = "#";
addLink.Attributes[
"onclick"] = String.Format("return OpenElement('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ZONEID"], e.Item.ItemIndex);
}
}
}
protected void RadGrid1_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
if (e.DetailTableView.Name == "Detail1")
{
objSelectBL =
new SelectBL();
object[] arrSpParameters = new object[2];
arrSpParameters[0] =
Convert.ToInt32(hdnZoneID.Value==string.Empty?"0":hdnZoneID.Value);
arrSpParameters[1] =
"EN";
e.DetailTableView.DataSource = objSelectBL.Retrieve(
"FILLZONES", arrSpParameters);
}
if (e.DetailTableView.Name == "Detail2")
{
objSelectBL =
new SelectBL();
object[] arrSpParameters = new object[2];
arrSpParameters[0] = 1;
arrSpParameters[1] =
"EN";
e.DetailTableView.DataSource = objSelectBL.Retrieve(
"FILLELEMENT", arrSpParameters);
}
}
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
RadGrid sender = (RadGrid)source;
RadGrid1.ShowHeader =
false;
objSelectBL =
new SelectBL();
object[] arrSpParameters = new object[2];
arrSpParameters[0] =
Convert.ToInt32(hdnLocationID.Value);
arrSpParameters[1] =
"EN";
sender.DataSource = objSelectBL.Retrieve(
"FILLROOM", arrSpParameters);
}
Regards,
Sathies