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

Rowcount for RadGrid

6 Answers 1152 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ludwing
Top achievements
Rank 1
Ludwing asked on 06 Oct 2010, 09:52 PM
I want to client validate RadGrid rowcount > 0, how do it?

I am using popup edit mode for ItemTemplate

Tks.

6 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 07 Oct 2010, 06:37 AM
Hi,

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.
0
gc_0620
Top achievements
Rank 1
answered on 20 Aug 2011, 05:49 PM

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

0
Shinu
Top achievements
Rank 2
answered on 22 Aug 2011, 05:48 AM
Hello,

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);
  }
Note:Set the HierarchyLoadMode to Client.

Thanks,
Shinu.
0
gc_0620
Top achievements
Rank 1
answered on 24 Aug 2011, 02:59 AM
Thanks Shinu, appreciate your help.

All the best

Gc_0620
0
gc_0620
Top achievements
Rank 1
answered on 24 Aug 2011, 04:21 AM

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();
       }

 

0
Tsvetina
Telerik team
answered on 26 Aug 2011, 12:21 PM
Hi,

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 >>

Tags
Grid
Asked by
Ludwing
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
gc_0620
Top achievements
Rank 1
Tsvetina
Telerik team
Share this question
or