数据绑定 DropDownList

Posted

技术标签:

【中文标题】数据绑定 DropDownList【英文标题】:Data bound DropDownList 【发布时间】:2012-07-23 17:02:17 【问题描述】:

我有一个字段“oStatus”,我在 MS Access 中设置为列表框值列表,行源:已取消;订购;待办的;处理,我已经将我的 DropDownList 控件配置到数据源。

但是,当我单击网页中的下拉菜单时,控件仅显示字段的结果(例如订购)。我怎样才能让它在下拉列表中显示其他项目? (已取消、待处理、处理中等)

<asp:DropDownList ID="DropDownList1" runa4="server" 
                        DataSourceID="AccessDataSource7" DataTextField="oStatus" 
                        DataValueField="oStatus">
                    </asp:DropDownList>
                    <asp:AccessDataSource ID="AccessDataSource7" runat="server" 
                       DataFile="~/App_Data/DB.mdb" 
                        SelectCommand="SELECT [oStatus] FROM [ordersTable] WHERE (oOrderNo = ?)">
                        <SelectParameters>
                            <asp:QueryStringParameter Name="?" QueryStringField="oOrderNo" />
                        </SelectParameters>
                    </asp:AccessDataSource>

MS 访问

字段:oStatus

行源类型:值列表

行来源:已取消;订购;待处理;处理中

【问题讨论】:

也许我没有正确表达我的问题,但我希望下拉列表控件包含已取消;订购;待处理等,无论数据库中的字段值如何 您是说您的数据源只有“Ordering”并且您想将其他值添加到数据源中吗?其他值是否来自数据源,或者您只需要在它们不存在时添加它们? 是的,我希望下拉列表显示字段的值,但单击下拉列表也会显示其他选项(取消等)。希望它像在 MS Access 中一样工作。 如果不确切了解您目前的情况(而不是模糊的陈述),不可能回答您的问题 @user1166862 - 您找到解决问题的方法了吗?是否如我的回答中所建议的那样? 【参考方案1】:

从您的代码来看,您似乎正在使用 订单的单一状态 作为数据源 - 这意味着您只会在下拉列表中获得一个项目。换句话说,您编写的查询只会返回一个项目(因为该行只能包含一个值)。

您应该使用所有可能的选项填充下拉列表,然后选择与订单状态匹配的项目。不幸的是,我不知道您将如何使用 &lt;asp:AccessDataSource&gt; 控件来做到这一点,因为我从未使用过它。

这些选项应该以静态方式填充...

<asp:DropDownList runat="server">
  <asp:ListValue value="1">Cancelled</asp:ListValue>
  ...
</asp:DropDownList>

或者如果它们是数据库中的值,那么我猜你使用&lt;asp:AccessDataSource&gt; 填充它们,然后使用另一种方法根据ordersTable 中的值选择正确的值。

【讨论】:

以上是关于数据绑定 DropDownList的主要内容,如果未能解决你的问题,请参考以下文章

如何绑定 DropDownList 的选定值

DropDownList绑定数据库

数据绑定 DropDownList

如何把字段的名字绑定到dropdownlist中

asp.net的DropDownlist绑定数据

DropDownList 绑定Access数据库 表名Stu,绑定到nam列。