6 Answers, 1 is accepted

Try the following client side code in order to get the number of items in grid.
JavaScript:
<script type="text/javascript"> |
function RowCount() |
{ |
var grid = $find("<%=RadGrid1.ClientID %>"); |
var MasterTable = grid.get_masterTableView(); |
var Rows = MasterTable.get_dataItems(); |
alert(Rows.length); |
} |
</script> |
-Shinu.

Hi Shinu,
Could you please tell using your solution how do I get the row count of 1st Detail Table (name = "Detail") from Radgrid Client RowSelected Event? Your solution works perfectly for Parent Table row count. I need to get the row count of Detail table from Parent Table (i.e. Row Selected). Can this be done if HierarchyLoadMode = "ServerOnDemand"?
Thank You
GC_0620

Try the following Javascript to get RowCount in DetailTable.
JS:
function
RowSelected(sender, args)
{
var
detailTable = args.get_gridDataItem().get_nestedViews()[0];
alert(detailTable.get_dataItems().length);
}
Thanks,
Shinu.

All the best
Gc_0620

Shinu,
In my Grid, I have an option to Export to Excel (Button1 Click), If HierarchyLoadMode to Client it does execute the Client Side Script to Get Detail Table Row Count however Export to Export does not run. So in my Button1_Click event, I changed the HierarchyLoadMode to ServerOnDemand.
My question is if I just change the HierarchyLoadMode right before the export, after export will it change the default HierarchyLoadMode = ServerOnDemand of Master Table settings as well?
Please let me know if I am using the correct logic or not? Thanks again for all your valuable assistance. Appreciated.
GC_0620.
__________
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function RowSeleted(sender, args) {
if (args.get_tableView().get_name() == "Master") {
var grid = $find("<%=RadGrid1.ClientID %>");
var MasterTable = grid.get_masterTableView();
var Rows = MasterTable.get_dataItems();
alert("Master Table Row Count: " + Rows.length);
var detailTable = args.get_gridDataItem().get_nestedViews()[0];
alert("# of Child Rows for selected Master Row: " + detailTable.get_dataItems().length);
}
}
</
script
>
</
telerik:RadCodeBlock
>
</
head
>
<
body
class
=
"BODY"
>
<
form
runat
=
"server"
id
=
"mainForm"
method
=
"post"
>
<
telerik:Header
runat
=
"server"
ID
=
"Header1"
NavigationLanguage
=
"CS"
></
telerik:Header
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
/>
<!-- content start -->
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
''''
</
telerik:RadAjaxManager
>
<
asp:Button
ID
=
"Button1"
CssClass
=
"button"
Width
=
"150px"
Text
=
"Export to Excel"
OnClick
=
"Button1_Click"
runat
=
"server"
></
asp:Button
>
`
<
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
OnRowSelected
=
"RowCount"
/>
</
ClientSettings
>
<
MasterTableView
DataSourceID
=
"SqlDataSource1"
DataKeyNames
=
"CustomerID"
AllowMultiColumnSorting
=
"True"
Name
=
"Master"
HierarchyLoadMode
=
"Client"
>
</
MasterTableView
>
</
telerik:RadGrid
>
_____
protected void Button1_Click(object sender, System.EventArgs e)
{
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.ExportSettings.IgnorePaging = true;
RadGrid1.ExportSettings.OpenInNewWindow = true;
RadGrid1.MasterTableView.HierarchyLoadMode = GridChildLoadMode.ServerOnDemand;
RadGrid1.MasterTableView.HierarchyDefaultExpanded = true;
RadGrid1.MasterTableView.ExportToExcel();
}
After export you will be navigated to the last state of the grid before exporting, so the HierarchyLoadMode should still be Client.
Kind regards,
Tsvetina
the Telerik team
Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>