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

Getting index od radgrid

4 Answers 345 Views
Grid
This is a migrated thread and some comments may be shown as answers.
abhijeet
Top achievements
Rank 1
abhijeet asked on 12 Jul 2011, 06:17 AM
Hello I want to get the the index of selected row on Radgridindexchanged event and I am getting problem for that. SelectedIndex property is not available in the RadGrid Please help
Thanks in advance.

4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 12 Jul 2011, 07:09 AM
Hello Abhijeet,

Try the following code snippet to access index of selected row.

C#:
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
       GridDataItem dataItem = (GridDataItem)RadGrid1.SelectedItems[0];
        int index = dataItem.ItemIndex;
}

Thanks,
Princy.
0
abhijeet
Top achievements
Rank 1
answered on 12 Jul 2011, 02:47 PM
Thank you  Princy I tried your solution but got error as "Index was out of range. Must be non-negative and less than the size of the collection."
The thing I want to do is I have a checkbox column associated with the RadGrid And When the Checkbox is checked I want The index of that row whose checkbox is checked. Thank in advance
0
Accepted
Princy
Top achievements
Rank 2
answered on 13 Jul 2011, 07:18 AM
Hello Abhijeet,

Here is the sample code to access CheckBox from client side and server side.

From Client side, you can access the ClientSelectColumn and pass the row index by attaching client event.
aspx:
<telerik:GridClientSelectColumn UniqueName="ClientSelect" HeaderText="Select">
</telerik:GridClientSelectColumn>

C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
        if (e.Item is GridDataItem)
         {
             GridDataItem item = (GridDataItem)e.Item;        
             CheckBox chkbox = item["ClientSelect"].Controls[0] as CheckBox;
             int index = item.ItemIndex;
             chkbox.Attributes.Add("onchange", "checked('" + index + "');");
         }
}

Javascript:
<script type="text/javascript">
function checked(index)
{
  alert(index);
}
</script>

From server side you can get the row index by attaching CheckChanged event to the CheckBox.
aspx:
<telerik:GridTemplateColumn>
  <ItemTemplate>
      <asp:CheckBox ID="chk" runat="server" OnCheckedChanged="chk_CheckedChanged1"/>
  </ItemTemplate>
</telerik:GridTemplateColumn>

C#:
protected void chk_CheckedChanged1(object sender, EventArgs e)
{
        CheckBox chkbx = (CheckBox)sender;            
        GridDataItem dataItem = (GridDataItem)chkbx.NamingContainer;     
            int index = dataItem.ItemIndex;
}

Thanks,
Princy.
0
abhijeet
Top achievements
Rank 1
answered on 14 Jul 2011, 05:40 AM
Thank You Princy

Perfect Answer
Tags
Grid
Asked by
abhijeet
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
abhijeet
Top achievements
Rank 1
Share this question
or