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

Getting Count of Selected Items in Telerik Grid

3 Answers 915 Views
Grid
This is a migrated thread and some comments may be shown as answers.
A2H
Top achievements
Rank 1
A2H asked on 11 May 2011, 11:01 AM
Hi All,
I have a Telerik grid ,in which I am using a check box inside a template column to select a row.

I want to get the count of selected items in grid through javascript.

I am using check box to select a row .

Please help me.

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 11 May 2011, 11:26 AM
Hello,

Try the following client side code to get the selected row count.
Javascript:
<script type="text/javascript">
    function getSelected()
    {
        var RadGrid1 = $find("<%=RadGrid1.ClientID %>");
        alert("Number of selected items : " + RadGrid1.get_masterTableView().get_selectedItems().length);
    
       
</script>

Thanks,
Princy.
0
A2H
Top achievements
Rank 1
answered on 11 May 2011, 11:50 AM
Hi Princy,
I am using a template column with check box.
By using your code count is always null,if I select a row using check box in template column.

But if I select a column by clicking on row the count is showing as 1.

0
Princy
Top achievements
Rank 2
answered on 11 May 2011, 12:41 PM
Hello,

I have also tried the same scenario. Here is the the code that I tried.

aspx:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" PageSize="5" Skin="Hay"
DataSourceID="SqlDataSource1" AllowMultiRowSelection="true">
            <MasterTableView>
                <Columns>
                    <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn">
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="ToggleRowSelection"
                                AutoPostBack="True" />
                        </ItemTemplate>
                        <HeaderTemplate>
                            <asp:CheckBox ID="headerChkbox" runat="server" OnCheckedChanged="ToggleSelectedState"
                                AutoPostBack="True" />
                        </HeaderTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>
</telerik:RadGrid>
 <asp:Button runat="server" ID="button1" OnClientClick="getSelected();" Text="getSelected" />

C#:
protected void ToggleRowSelection(object sender, EventArgs e)
   {
       ((sender as CheckBox).NamingContainer as GridItem).Selected = (sender as CheckBox).Checked;
       bool checkHeader = true;
       foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
       {
           if (!(dataItem.FindControl("CheckBox1") as CheckBox).Checked)
           {
               checkHeader = false;
               break;
           }
       }
       GridHeaderItem headerItem = RadGrid1.MasterTableView.GetItems(GridItemType.Header)[0] as GridHeaderItem;
       (headerItem.FindControl("headerChkbox") as CheckBox).Checked = checkHeader;
 
   }
   protected void ToggleSelectedState(object sender, EventArgs e)
   {
       CheckBox headerCheckBox = (sender as CheckBox);
       foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
       {
           (dataItem.FindControl("CheckBox1") as CheckBox).Checked = headerCheckBox.Checked;
           dataItem.Selected = headerCheckBox.Checked;
       }
 
   }

Javascript:
function getSelected()
   {
       var RadGrid1 = $find("<%=RadGrid1.ClientID %>");
       alert("Number of selected items : " + RadGrid1.get_masterTableView().get_selectedItems().length);
   }

It works as expected at my end. Please elaborate your scenario if it doesn't help.

Thanks,
Princy.
Tags
Grid
Asked by
A2H
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
A2H
Top achievements
Rank 1
Share this question
or