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

Loop through RadGrid to see if checkbox is checked

2 Answers 482 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jason Zam
Top achievements
Rank 1
Jason Zam asked on 22 Oct 2009, 08:38 PM
Hello,

I have a RadGrid and I would like to capture the DataKeyValue (AssignmentID) of each selected row (the user selects a row via the GridClientSelectColumn).  In short, when a user selects a row, I want to capture each row's corresponding AssignmentID and store that value in a hidden field on my webpage.  I will then use these values in a RadWindow popup.

I am assuming doing this on the client side using Javscript would be the best route?  Can you please provide a code sample?  Thank you in advance!

Jason

Here is my ASP.NET code:

<asp:Panel ID="pnlAssignmentSearch" CssClass="PanelContainer" Visible="False" runat="server">  
    <telerik:RadGrid ID="radgrdAssignment" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" AllowMultiRowSelection="True" ShowStatusBar="False" PageSize="20" GridLines="None" HorizontalAlign="NotSet" runat="server">  
        <MasterTableView DataKeyNames="AssignmentID">  
        <Columns> 
            <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn"></telerik:GridClientSelectColumn> 
            <telerik:GridButtonColumn ButtonType="LinkButton" DataTextField="AssignmentID" SortExpression="AssignmentID" HeaderText="EvalID" UniqueName="AssignmentIDButton" CommandName="Select"></telerik:GridButtonColumn> 
            <telerik:GridBoundColumn DataField="AssignmentID" HeaderText="AssignmentID" UniqueName="AssignmentIDData" Display="False"></telerik:GridBoundColumn> 
        </Columns> 
        </MasterTableView> 
        <ClientSettings EnableRowHoverStyle="True" ClientEvents-OnColumnClick="AppendAssignmentIDs" ClientEvents-OnRowClick="AppendAssignmentIDs">  
        <Selecting AllowRowSelect="True" /> 
        </ClientSettings> 
        <pagerstyle mode="NextPrevAndNumeric" AlwaysVisible="True" /> 
    </telerik:RadGrid> 
</asp:Panel> 

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 23 Oct 2009, 04:20 AM
Hi Jason,

Attach OnRowSelected event to RadGrid and get the DataKeyValue of selected row in the event handler to set the HiddenField value.

JavaScript:
 
<script type="text/javascript"
    function OnRowSelected(sender, eventArgs) { 
        var grid = sender; 
        var MasterTable = grid.get_masterTableView(); 
        var row = MasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()]; 
        alert(row.getDataKeyValue("ContactName")); // I set the ClientDataKeyNames as ContactName 
        // Set the hiddenfield value 
        var hidenField = document.getElementById("HiddenField1"); 
        hidenField.value = row.getDataKeyValue("ContactName"); 
    } 
</script> 

-Shinu.
0
Jason Zam
Top achievements
Rank 1
answered on 23 Oct 2009, 01:28 PM
Shinu,

Thank you very much for your response, I am half way there.

I have a second part to my question though and was hoping that you please post an example for the following scenario:

Each time a user clicks a row in the RadGrid (via the GridClientSelectColumn), your javaScript loops through the RadGrid to determine what rows have the checkbox checked and appends those values (Assignment IDs) to the hidden field?

As a side note, I normally would do this on the server-side; however, I am using the appended values (Assignment IDs) and passing them as part of a querystring for a new RadWindow that pops up when a user clicks a button.  Since the RadWindow "NavigateUrl" property is being set on my PageLoad Event, I am forced to do this on the client-side via JavaScript (unless someone has a better solution).

Thanks again for your help!
Jason
Tags
Grid
Asked by
Jason Zam
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Jason Zam
Top achievements
Rank 1
Share this question
or