How to access control in edititemtemplate of detailsview? (ASP 2.0

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello, I hope somebody can help me with this!
I have 2 listboxes in the edititemtemplate of a detailsview. In the
databound event of the detailsview I would like to fill the listboxes
programmatically (not through databinding). If I use
detailsview.findcontrol(controlname) then an empty object is returned. How
can I address these controls?
Thank you for your time.
 
Hi Frits,

In the dropdownlist within the DetailsView's TemplateField add OnDatabinding
= "DropDownList1_DataBinding" and in the CodeBehind add
protected void DropDownList1_DataBinding(object sender, EventsArgs e)
{
// do something
}
 
You are welcome Frits.

I might also add that the reason you could not find the control upon
databinding is that it was not created yet. If you wanted to do it the way
you tried then you should use the DetailsVeiw.DataBound event instead, e.g,
DetailsView.DataBound += new EventHandler(DetailsView1_DataBound);

and then

void DetailsView1_DataBound(object sender, EventArgs e)
{
if(((DetailsView)sender).CurrentMode== DetailsViewMode.Edit)
{
DropDownList
ddl=(DropDownList)((DetailsView)sender).FindControl("DropDownList1");
if (ddl1 !=null) //you found the dropdownlist
{
//execute statements to add the desired data to it
}
}

}
 
Thank you, Phillip!
I tried the databound event earlier, but unfortunately it seems that
controls in the edititemtemplate are not created at that time. Only when the
detailsview is actually in edit mode.
Cheers,
Frits
 
Back
Top