This is a migrated thread and some comments may be shown as answers.

[Solved] Get the values of row in hierarchygird using client side script

1 Answer 158 Views
Grid
This is a migrated thread and some comments may be shown as answers.
sathies
Top achievements
Rank 1
sathies asked on 27 Jul 2009, 06:05 AM
Hi,
        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

1 Answer, 1 is accepted

Sort by
0
Yavor
Telerik team
answered on 29 Jul 2009, 12:00 PM
Hi sathies,

You can get any cell value as shown in the following article:

http://www.telerik.com/help/aspnet-ajax/grid_getcellbycolumnuniquename.html

additionally, you can use the following method:

http://www.telerik.com/help/aspnet-ajax/grid_get_detailtables.html

to access all the detail tables in the grid control.
I hope this information helps.

Regards,
Yavor
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Grid
Asked by
sathies
Top achievements
Rank 1
Answers by
Yavor
Telerik team
Share this question
or