数据绑定DropDownList

时间:2012-07-23 17:02:18

标签: asp.net ms-access

我有一个字段'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 Access

字段:oStatus

行来源类型:值列表

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

1 个答案:

答案 0 :(得分:0)

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

您应该使用所有可能的选项填充下拉列表,然后选择与订单中的状态匹配的项目。不幸的是,我不知道你如何使用<asp:AccessDataSource>控件,因为我从未使用它。

应该静态填充选项......

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

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