0

我在 Dropdownlist 中填充数据集时遇到问题。我想在下拉列表中显示我的数据库表中的用户名列,但只显示最后一行值。我被卡住了,搜索了几个小时后我找不到任何解决方案,每个代码几乎都给了我同样的问题。这是我正在尝试做的事情:

Dataset ds = new Dataset();
ds = db.search();

            if(ds.Tables[0].Rows.Count>0)
{
            DropDownList1.DataSource=ds;
            DropDownList1.DataBind();
}

在 ASP 标记中:

<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
4

3 回答 3

1

请设置下拉列表的以下属性,如服务器端代码所示。请将“用户名”和“ID”替换为检索记录集列名称。

DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "UserName";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
于 2012-08-06T06:10:40.630 回答
0
 Using ds As DataSet = data_readers.data.ExecuteDataSet("LoadSearch", NOTHING)
            If ds.Tables.Count > 0 Then
                If ds.Tables(0).Rows.Count > 0 Then

                    DropDownList1.DataSource = New DataView(ds.Tables("myDataset"))
                    DropDownList1.DataBind

                End If
            End If
  End Using
于 2012-08-05T19:44:49.040 回答
0

您的“ASP 标记”完全是空的!这里看看我的代码,它应该是你源页面的一个很好的例子:

您还需要设置一个对象数据源:我在下拉列表下方提供了该代码。Listitem 值只是我的偏好。在您的情况下,您的列名将替换 TRANS_CD_DESC。

<asp:DropDownList ID="ddlTRANS_CD_DESC" DataSourceID="OBJ_TRANS_CD_DESC" DataValueField="TRANS_CD_DESC"
                            DataTextField="TRANS_CD_DESC" AppendDataBoundItems="true" runat="server" Text='<%# bind("TRANS_CD_DESC") %>'>
                            <asp:ListItem Value="">-- Select One --</asp:ListItem>
                        </asp:DropDownList>
                        <asp:ObjectDataSource ID="OBJ_TRANS_CD_DESC" runat="server" TypeName="project1.dbqry"
                            SelectMethod="gProjectCIS"></asp:ObjectDataSource>
于 2012-08-06T17:53:10.123 回答