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

Child Controls in Rad Grid

3 Answers 266 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Velkumar
Top achievements
Rank 2
Velkumar asked on 08 Apr 2011, 05:38 AM
I have a RadGrid with checkbox( GridClientSelectColumn ) to select a row. All  columns are created using templates. How can i get the child controls in  the RadGrid from client side using javascript and from server side using C#.

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 08 Apr 2011, 08:04 AM
Hello Velkumar,

I guess you want to access the control inside ItemTemplate of selected rows. If so try the following code snippet.

ASPX:
<telerik:GridTemplateColumn>
    <ItemTemplate>
       <asp:Label ID="Label1" runat="server" ></asp:Label>
    </ItemTemplate>
</telerik:GridTemplateColumn>

C#:
protected void Button1_Click(object sender, EventArgs e)
   {
       GridDataItem item = (GridDataItem)RadGrid1.SelectedItems[0];
       Label lb = (Label)item.FindControl("Label1");//accessing Label control
   }


Java Script:
<script type="text/javascript">
     function ButtonClick()
      {
        var grid = $find("<%=RadGrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        for (var i = 0; i < MasterTable.get_selectedItems().length; i++) {
            var cellValue1 = MasterTable.get_selectedItems()[i].findElement("Label1").innerHTML;
       }
    }
</script>

Thanks,
Princy.
0
Velkumar
Top achievements
Rank 2
answered on 09 Apr 2011, 05:51 AM
Hello Princy ,

            I am using the following code to create Checkbox in the first column of each row in RadGrid.

                  GridClientSelectColumn tmpColumn1 = new GridClientSelectColumn();
                  RadGridTaxRate.MasterTableView.Columns.Add(tmpColumn1);


Using this code we can create checkbox in each row. My goal is to get the object of this checkbox in row select event.





Thanks,
Velkumar.

0
Princy
Top achievements
Rank 2
answered on 11 Apr 2011, 10:21 AM
Hello VelKumar,

Give a try with the following approach to access the CheckBox in GridClientSelectColumn from client side.

ASPX:
<telerik:RadGrid ID="RadGrid1"  runat="server" OnItemCreated="RadGrid1_ItemCreated">
     .   .   .   .   .  .   /
    <ClientSettings Selecting-AllowRowSelect="true">
        <ClientEvents OnRowSelecting="RowSelecting" />
    </ClientSettings>
</telerik:RadGrid>
 
<asp:HiddenField ID="HiddenField1" runat="server" />

C#:
GridClientSelectColumn tmpColumn1 = new GridClientSelectColumn();
tmpColumn1.UniqueName = "GridClientSelectColumn";
RadGridTaxRate.MasterTableView.Columns.Add(tmpColumn1);

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
 {
     if (e.Item is GridDataItem)
     {
         GridDataItem item = (GridDataItem)e.Item;
         CheckBox chk = (CheckBox)item["GridClientSelectColumn"].Controls[0];
         HiddenField1.Value = chk.ClientID;
     }
 }

Java script:
<script type="text/javascript">
    function RowSelecting(sender, args) {
        var grid = sender;
        var masterTable = sender.get_masterTableView();
        var Checkbox = document.getElementById(document.getElementById('HiddenField1').value); //accessing CheckBox usig HiddenField value
      }
</script>

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