我想按照前面的方法做this。我发现的唯一区别是上面代码中包含的附加列表项。如何在GridView的EditTemplate中设置DropDownList的SelectedValue
我试图使用AppendDataBoundItems=true
,但它仍然无法正常工作。我还希望将其默认值设置为在itemtemplate的标签中显示的值,即DropDownList的SelectedValue='<%# Eval("DepartmentName") %>'
,但是在下拉列表中,我的属性不可用。 可能是什么原因。 ??
<EditItemTemplate>
<asp:DropDownList ID="ddlDepartment_Edit" runat="server"
DataSourceID="dsDepartment_Edit" DataTextField="DepartmentName"
DataValueField="PK_DepartmentId">
</asp:DropDownList>
<asp:SqlDataSource ID="dsDepartment_Edit" runat="server"
ConnectionString="<%$ ConnectionStrings:BlackHillsConnect %>"
ProviderName="System.Data.SqlClient" SelectCommand="sp_GetDepartmentDropDown"
SelectCommandType="StoredProcedure">
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDepartmentName" runat="server" Text='<%# Eval("DepartmentName") %>' >
</asp:Label>
</ItemTemplate>
我使用GridView
这是我陷入困境的地方。没有这样的属性对我来说是可见的,即SelectedValue或SelectedText,以便我可以为它们分配一些值。关于DataValueField,是的,你是对的,它应该是主键。但直到这两个属性可用于我之前,不是讨论的一部分。 – 2010-08-13 10:28:48
VS设计师可能不会以智能的方式显示您的财产,但它的存在。有两个属性 - SelectedValue和SelectedIndex。如果您编写SelectedIndex ='<%#Eval('DepartmentId')%>'会发生什么? – VinayC 2010-08-13 11:29:11
我的错误 - 应该是SelectedValue ='<%#Eval('DepartmentId')%>'。 – VinayC 2010-08-13 11:37:43