Peter-
Thanks for the reply.
I bind the gridview in the Page_Load when it is not a postback.
I use a button's click event as a testing harness to examing the contents of
the gridview during a postback. In this event I loop thru the gridview's
rows, and attempt to find my textbox or label using findcontrol.
i dynamically create the templates prior to binding the data and in a
separate method. in the contructor of the template's InstantiateIn method,
i create the control (label or textbox) and assign its ID property to either
Label_[dataMember] or TextBox_[dataMember]. the [dataMember] value is
passed to the template in the constructor. moreover, the [dataMember]
values is used in the OnDataBinding event handler. pseudocode :
Class TextBoxTemplate
Implements ITemplate
private _dataMember as string
Public Sub New()
End Sub
Public Sub New(dataMember as string)
_dataMember=dataMember
End Sub
Public Sub InstantiateIn(container as )
dim tb as new TextBox
tb.Id = string.concat("Textbox_" ,_dataMember)
'add event handler (can't remember coding...)
container.Controls.Add(tb)
End Sub
public sub OnDataBinding(...)
'case sender as textbox
...
'cast sender's container as gridViewRow
...
'bind data (something similar)
tb.text = DataBinder.Eval(_dataMember)
end sub
End Class
i added logic to recreate the dynamic column in the Page_Init event, which
seemed to recreate the gridview correctly. i still can't seem to find my
dynamically-created controls in the gridview, however.
thoughts?
thanks a lot.
Craig
"Peter Bucher [MVP]" <pe**********@aspnetzone.dewrote in message
news:EA**********************************@microsof t.com...
Hi Craig
>i would like to iterate thru the gridview's rows, examine the databound
controls, then perform a database action. for some reason, i can't find
the controls.
Code :)
>i have a two templates: one that uses a label the other uses a textbox to
display data. when the InstantiateIn fires, i set the Id property equal
to 'Label_' + the name of the databound column, add the control to the
container and add the onDataBinding event handler.
Dito, show relevant Code to this issue.
How are you binding? On every Page_Load or with the IsPostBack-Constrain?
Where are you trying to access via .FindControl and how?
How are you put your dynamically names together "Label_"....?
--
Gruss, Peter Bucher
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET