By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,625 Members | 1,283 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,625 IT Pros & Developers. It's quick & easy.

dropDownList control not accessible inside dataGrid

P: n/a
i've got a dropDownList that I'm trying to populate from my code
behind as follows:

uxVehicleColourEdit.DataSource = oDsLookups.Tables["COLOR"];

if the dropDown is placed inside a datagrid, i get compile time errors
stating the control doesn't exist in the current content:

<asp:DataGrid ID="tmp" runat="server">
<Columns>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:DropDownList ID="uxVehicleColourEdit" runat="server"></
asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

if i move uxVehicleColourEdit outside the datagrid, i get no compile
errors.

any ideas what's going on?

tks
Jun 27 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
When you populate the grid, it will likely have more than one record. Each
record will include it's own ddl. That's why you can't access a single ddl
by id.

You need to handle ItemDataBound event for the grid. In the event use
e.Item.FindControl("uxVehicleColourEdit") to get a reference to the ddl.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
"steven" <s_*****@hotmail.comwrote in message
news:1f**********************************@8g2000hs e.googlegroups.com...
i've got a dropDownList that I'm trying to populate from my code
behind as follows:

uxVehicleColourEdit.DataSource = oDsLookups.Tables["COLOR"];

if the dropDown is placed inside a datagrid, i get compile time errors
stating the control doesn't exist in the current content:

<asp:DataGrid ID="tmp" runat="server">
<Columns>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:DropDownList ID="uxVehicleColourEdit" runat="server"></
asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

if i move uxVehicleColourEdit outside the datagrid, i get no compile
errors.

any ideas what's going on?

tks

Jun 27 '08 #2

P: n/a
On 12 May, 15:59, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
When you populate the grid, it will likely have more than one record. Each
record will include it's own ddl. That's why you can't access a single ddl
by id.

You need to handle ItemDataBound event for the grid. In the event use
e.Item.FindControl("uxVehicleColourEdit") to get a reference to the ddl.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"steven" <s_mu...@hotmail.comwrote in message

news:1f**********************************@8g2000hs e.googlegroups.com...
i've got a dropDownList that I'm trying to populate from my code
behind as follows:
uxVehicleColourEdit.DataSource = oDsLookups.Tables["COLOR"];
if the dropDown is placed inside a datagrid, i get compile time errors
stating the control doesn't exist in the current content:
<asp:DataGrid ID="tmp" runat="server">
<Columns>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:DropDownList ID="uxVehicleColourEdit" runat="server"></
asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
if i move uxVehicleColourEdit outside the datagrid, i get no compile
errors.
any ideas what's going on?
tks- Hide quoted text -

- Show quoted text -
Not quite Eliyahu. The dropdownlist is in the EditItem template (as it
should be) so will only occur in the row that is placed in edit mode
when an edit command is issued. The event to use for the assignment is
EditCommand.

BTW steven is there any reason you are using DataGrid rather than
GridView? Or are you constrained to use ASP.NET v 1?

ASP.NET v 2 would make the task easier because you could bind the ddl
to an appropriate DataSource object using the DatasourceID property.
By placing the both the ddl and the datasource control inside the
EditItemtemplate it would load itself without any code.
Jun 27 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.