4

我们有一个 ASP.Net / VB.Net web 表单,其中包含 aspx 文件标记中的下拉列表。还有一个使用 DataSet 设计器创建的 DataSet。

我们想用 DataSet 中的数据填充下拉列表。

您能否向我展示一些使用 DataSet 数据填充下拉列表所需的示例标记和/或 VB.Net 编码?

4

2 回答 2

8
<asp:DropDownList ID="MyDropDownList" runat="server" DataTextField="SomeString" DataValueField="SomeUniqueId" />

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    var myDataSet = new DataSet(); // replace with your dataset
    MyDropDownList.DataSource = myDataSet;
    MyDropDownList.DataBind();
}

VB.Net:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Dim aDataSet As DataSet
    MyDropDownList.DataSource = aDataSet
    MyDropDownList.DataBind()
End Sub

您在标记中看到“DataTextField”和“DataValueField”了吗?您可以在其中放置要用作 id(数据值)并在下拉列表中显示(数据文本)的字段名称。

这是一个例子:

标记

<body>
    <form id="form1" runat="server">
        <div>
            Fruits
            <asp:DropDownList ID="DropDownListWithFruits" runat="server" DataTextField="FruitName" DataValueField="FruitId" />
        </div>
    </form>
</body>

背后的代码

protected void Page_Load(object sender, EventArgs e)
{
    var myDataSet = new DataSet();
    var table1 = new DataTable();
    table1.Columns.Add("FruitName");
    table1.Columns.Add("FruitId");
    table1.Rows.Add("Apple", 1);
    table1.Rows.Add("Banana", 2);
    table1.Rows.Add("Grapefruit", 3);

    myDataSet.Tables.Add(table1);

    DropDownListWithFruits.DataSource = myDataSet;
    DropDownListWithFruits.DataBind();
}
于 2012-12-04T11:02:00.580 回答
2

ComboboxName.DataSource =YourDataSetName

ComboboxName.DataValueField =要返回其选定值的字段的名称

例如“身份证”

ComboboxName.DataTextField =您要在下拉列表中查看的字段的名称

例如“名称”

组合框名称.DataBind()

于 2012-12-04T11:05:51.480 回答