详细信息视图中的下拉列表,不列出项目

时间:2012-02-15 17:00:29

标签: c# drop-down-menu detailsview

大家好>

我有一个detailsview,其中有3个绑定字段和一个模板字段。

模板字段有一个DropDownList,我已连接到AccessDataSource。

但是当我运行时,下拉列表只有“System.Data.DataRowView”作为项目。

我希望将数据库中的项目列在DropDownList

这是我的代码

asp:TemplateField HeaderText="State/Province" SortExpression="State/Province">
                            <EditItemTemplate>
                                <asp:DropDownList ID="ddlState" runat="server" DataSourceID="AccessDataSource1" 
                                    onselectedindexchanged="DropDownList1_SelectedIndexChanged">
                                </asp:DropDownList>
                                <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
                                    DataFile="~/App_Data/db1.mdb" 
                                    SelectCommand="SELECT [State/Province_name] FROM [State/Province_List ]">
                                </asp:AccessDataSource>
                            </EditItemTemplate>
                        </asp:TemplateField>

我应该为DropDownList添加“DataBinding”或“DataBound”事件吗?使其完美?

帮助我解决这个问题

谢谢, 阿琼

1 个答案:

答案 0 :(得分:0)

在下拉列表中定义要使用的字段

<asp:DropDownList ID="ddlState" runat="server"
   DataSourceID="AccessDataSource1"
   DataTextField="State/Province_name"
   DataValueField="State/Province_name"
   OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>

如果您对此非标准列名称有疑问,请尝试使用别名

SELECT [State/Province_name] AS StateProv FROM [State/Province_List ]

[State/Province_List ]中的空格是否正常?)

然后使用这个

<asp:DropDownList ID="ddlState" runat="server"
   DataSourceID="AccessDataSource1"
   DataTextField="StateProv"
   DataValueField="StateProv"
   OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>