FindControl to reference nested controls in gridview/listview

  • Thread starter Thread starter Martin
  • Start date Start date
M

Martin

Hi,

I have a very frustrating problem that I have researched for countless
hours to no avail. There are many posts asking very similar things,
however none usefull in my situation. I am using VS 2005 (ASP 2.0) and
VB .NET.

I have a page with a datalist, a gridview and then other data controls,
nested in that order. This all works great, and produces a nice looking
page, but I cannot for the life of me figure out how to reference
controls on the nested gridview and formviews. The HTML page is similar
to the below. What would be the correct syntaxt for referencing a
control on eg. FormView1 from Visual Basic code-behind? How does that
differ to a control on GridView2?

Can anyone point me in the right direction here? Perhaps a tutorial
that discusses these cases? I can post the actual code here, but I
thought the summary would be more meaningful.

<asp:datalist>
<asp:GridView ID="GridView1">
<asp:Boundfield> </asp:BoundField>
<asp:Boundfield> </asp:BoundField>
<asp:TemplateField>
<asp:label ID="outerGridID">
<asp:GridView ID="GridView2">
</asp:GridView>
<asp:Repeater ID="Repeater1">
</asp:Repeater>
<asp:FormView ID="FormView1">
</asp:FormView>
</asp:TemplateField>
</asp:GridView>
</asp:Datalist>

Many hopeful regards,

Martin
 
Can anyone point me in the right direction here? Perhaps a tutorial
that discusses these cases? I can post the actual code here, but I
thought the summary would be more meaningful.

Hi Martin:

I have a tutorial on using FindControl written here:

http://odetocode.com/Articles/116.aspx


Although the article doesn't specifically talk about FormViews and
GridViews, the concepts are the same. Most importantly, understanding
where an INamingContainer exists. I hope you find it helpful.
 
Hi Phillip and Scott,

Many thanks for your help - I think there may be some basic concepts I
am having trouble with. I thought I might have to do a nested
FinControl, similar to:

DataList1.FindControl(GridView1.FindControl("GridView1"))

But I think CTYPE might be a clue to me.... I will dig into the
examples given and hopefully that will bring be closer to the answer.

Regards,

Martin
 
Back
Top