我有一个DataGrid,看起来像这样(在这里稍作简化)顺序:数据绑定DropDownList的DataGrid中 - 结合
<asp:DataGrid ID="grdQuotas" runat="server" AutoGenerateColumns="False">
<HeaderStyle CssClass="quotas-header" />
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
Max order level</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="ddlMaxOrderLevel" runat="server" DataSourceID="xdsOrderLevel"
DataTextField="Text" DataValueField="Value" SelectedValue='<%# Bind("MaxOrderLevel") %>'>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:XmlDataSource ID="xdsOrderLevel" runat="server" DataFile="~/App_Data/OrderLevels.xml">
</asp:XmlDataSource>
在我Page_Load
事件处理程序我创建一个DataTable
包含默认值和DataBind
它荷兰国际集团,以DataGrid
。
的问题是,这正在发生前DropDownList
ddlMaxOrderLevel已经被绑定到其DataSource
,所以我得到一个运行时错误告诉我,SelectedValue
不能设置。
如果ddlMaxOrderLevel在DataGrid
不是我可以调用它DataBind()
。不过,我不能在这种情况下这样做 - 因为它在ItemTemplate
。
任何人都可以提出一个解决方法或替代方法?
不幸的是,将不会出现在我原来的问题中概述相同的原因:DropDownList是在一个ItemTemplate内,因此不存在作为一个实例化的控件,你可以参考 – 2008-12-01 13:23:06