-3

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

微软访问

字段:oStatus

行源类型:值列表

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

4

1 回答 1

0

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

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

选项应该静态填充...

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

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

于 2012-07-23T17:52:42.670 回答