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

Get selected checkbox values

3 Answers 522 Views
Grid
This is a migrated thread and some comments may be shown as answers.
RB
Top achievements
Rank 1
RB asked on 19 May 2014, 07:32 PM
I have added a radgrid, textbox and a button as follows:
  this._UpdatePanel.ContentTemplateContainer.Controls.Add(RadGrid1);
  this._UpdatePanel.ContentTemplateContainer.Controls.Add(TextBox1);
  this._UpdatePanel.ContentTemplateContainer.Controls.Add(Buton1);

The radgrid has a checkbox column which I have added through a GridTemplateColumn. On click of the button I want to know the rows that are selected. How can I do this on server side? Also is it possible to find the selected checkboxes client side?

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 20 May 2014, 04:55 AM
Hi

Please try the following code snippet to get the selected row.

ASPX:
<asp:Button ID="btnGetRowsServer" runat="server" Text="Get Rows ServerSide" OnClick="btnGetRows_Click" />
<asp:Button ID="btnGetRowsClient" runat="server" Text="Get Rows ClientSide" OnClientClick="GetRows()" />

C#:
protected void btnGetRows_Click(object sender, EventArgs e)
{
  foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
  {
    if (dataItem.Selected)
    {
      string ID = dataItem.GetDataKeyValue("ID").ToString();
    }
  }
}

JS:
<script type="text/javascript">
    function GetRows() {      
        var grid = $find("<%=RadGrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        var selectedRows = MasterTable.get_selectedItems();
        for (var i = 0; i < selectedRows.length; i++) {
            var row = selectedRows[i];
            var cell = MasterTable.getCellByColumnUniqueName(row, "ID")
            //here cell.innerHTML holds the value of the cell   
        }
    }
</script>

Thanks,
Shinu
0
RB
Top achievements
Rank 1
answered on 06 Jun 2014, 08:57 PM
Shinu,

Thanks for the reply but the javascript is not working! I have replaced the UpdateP{anel with a RadAjaxPanel. So now I have:  RadAjaxPanel.Controls.Add(this._RadLoadingPanel);
 RadAjaxPanel.Controls.Add(this._RadGrid1);  
 RadAjaxPanel.Controls.Add(button1);  

The radgrid id is set to RadGrid1 and Button1.OnClientClick = "GetSelectedItems()";
But the in the following javascript grid is null!
function GetSelectedItems() {   
    var grid = $find("<%=RadGrid1.ClientID %>");  
}



0
Accepted
Shinu
Top achievements
Rank 2
answered on 10 Jun 2014, 09:13 AM
Hi,

You can attach the Button client event from server side and pass the RadGrid ClientID.

C#:
Button1.Attributes.Add("OnClick", "GetSelectedItems('"+RadGrid1.ClientID+"');return false;");

JS:
<script type="text/javascript">
    function GetSelectedItems(RadGrid) {
     //find the Grid
        var grid = $find(RadGrid);     
       }
</script>

Thanks,
Shinu
Tags
Grid
Asked by
RB
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
RB
Top achievements
Rank 1
Share this question
or