从数据库中添加下拉列表的项目和值

时间:2014-05-05 16:59:51

标签: c# asp.net sql-server

我使用此c#代码在表dropdownlist(ddlSub)中的sub_info中添加项目。但我想要的是在同一个表中添加dropdownlist(ddlSub)中项目的值,该表格中还有一个名为sub_id的数据类型为varchar(50)的列。

private void bind_ddlSub()
{

    ddlSub.Items.Insert(0, "-Choose-");
    datatable_object = methodClassFunc.getData("select sub_name from sub_info");
    for (int i = 0; i <= datatable_object.Rows.Count - 1; i++)
    {
        ddlSub.Items.Add(Convert.ToString(datatable_object.Rows[i]["sub_name"]));
    }
}

2 个答案:

答案 0 :(得分:1)

您可以使用ListItem对象为下拉列表项添加文本和值。

string subname = datatable_object.Rows[i]["sub_name"];
string subid = datatable_object.Rows[i]["sub_id"];
ddlSub.Items.Add(new ListItem(subname,subid));

或者您可以像这样绑定数据源:

ddlSub.DataSource = datatable_object;
ddlSub.DataTextField = "sub_name";
ddlSub.DataValueField = "sub_id";
ddlSub.DataBind();

答案 1 :(得分:0)

你可以这样做:

for (int i = 0; i <= datatable_object.Rows.Count - 1; i++)
{
    ddlSub.Items.Add(new ListItem(Convert.ToString(datatable_object.Rows[i]["sub_name"]), 
                                  Convert.ToString(datatable_object.Rows[i]["sub_id"]));
}

或者您可以将DataTable绑定到DropDownList并指定DataTextField进行显示,并DataValueField获取索引更改事件的值,例如:

ddlSub.DataSource = datatable_object; 
ddlSub.DataTextField = "sub_name";
ddlSub.DataValueField = "sub_id"; 
ddlSub.DataBind();