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

How to access radgrid child controls from code

3 Answers 152 Views
Grid
This is a migrated thread and some comments may be shown as answers.
PEIE
Top achievements
Rank 1
PEIE asked on 07 Dec 2011, 09:47 AM
Hello,

I want to know how to access nested radgrid and controls from vb code.

my code is look like this:

<telerik:RadGrid ID="RadGrid1" >
    <MasterTableView >
        <NestedViewTemplate>
                <telerik:RadMultiPage >
                    <telerik:RadPageView >
                        <telerik:RadGrid ID="RadGrid2">
                            <MasterTableView >
                                <ItemTemplate>
                                        <asp:Label ID="Label1" />
                                </ItemTemplate>
                                <Columns>
                                    some code here..
                                </Columns>
                            </MasterTableView>
                        </telerik:RadGrid>
                    </telerik:RadPageView>
                </telerik:RadMultiPage>
        </NestedViewTemplate>
        <Columns>
          some code here..
      </Columns>
    </MasterTableView>
</telerik:RadGrid>

I need to access radgrid2 and label1.

Any Idea please?

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 07 Dec 2011, 10:22 AM
Hello,

Try the following code snippet.
C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
   if (e.Item is GridNestedViewItem)
   {
   GridNestedViewItem item = (GridNestedViewItem)e.Item;
   Label lbl = (Label)item.FindControl("Label1");
   RadGrid grid = (RadGrid)item.FindControl("RadGrid2");
  }
 }

-Shinu.
0
PEIE
Top achievements
Rank 1
answered on 10 Dec 2011, 05:21 AM
Thank you Shinu, but it didin't work!!

I convert your code to VB and I add msgbox to test the code but it didn't work.
this is the vb code I've used:

Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemCreated
    Dim lbl As New Label
    If TypeOf e.Item Is GridNestedViewItem Then
        Dim item As GridNestedViewItem = DirectCast(e.Item, GridNestedViewItem)
        lbl = DirectCast(item.FindControl("lable11"), Label)
        Dim grid As RadGrid = DirectCast(item.FindControl("RadGrid2"), RadGrid)
        MsgBox(lbl.Text)
    End If
End Sub

It shows null reference error.

Any idea please?
0
Shinu
Top achievements
Rank 2
answered on 12 Dec 2011, 05:40 AM
Hello,

I cannot reproduce the issue at my end. The above code worked as expected in both ItemCreated and ItemDataBound events. Can you try the same in ItemDataBound event?
VB:
Protected Sub RadGrid2_ItemDataBound(sender As Object, e As GridItemEventArgs)
    If TypeOf e.Item Is GridNestedViewItem Then
        Dim item As GridNestedViewItem = DirectCast(e.Item, GridNestedViewItem)
        Dim lbl As Label = DirectCast(item.FindControl("Label2"), Label)
        Dim grid As RadGrid = DirectCast(item.FindControl("RadGrid2"), RadGrid)
    End If
End Sub

-Shinu.
Tags
Grid
Asked by
PEIE
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
PEIE
Top achievements
Rank 1
Share this question
or