我有一個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