我希望用dropdown
填充datatable
bcoz我已经在bal中使用方法GetCate()
,返回datatable
,现在想要将数据动态填充到ddl
,其中包含datasource
和databind
脚本,可能吗???
为什么不能将数据表分配到下拉列表中
public void BindCateDDL()
{
DataTable dt = new BALCate().GetCate();
ddl_filter_category_id.DataSource = dt;
ddl_filter_category_id.DataBind();
}
这是一种正确的方法吗?
答案 0 :(得分:2)
有几种方法可以做到这一点:
1)在每次迭代中创建一个新的listItem
,添加详细信息并将其添加到DDL中:
public void BindCateDDL()
{
//DropDownList ddl;
DataTable dt = new BALCate().GetCate();
foreach (DataRow dr in dt.Rows)
{
ListItem l = new ListItem();
l.text = dr["colForName"].ToString();
l.value = dr["colForValue"].ToString();
ddl.items.add(l);
}
}
2)将数据表作为数据源添加到DropDownList
并设置DataTextField
和DataValueField
属性:
public void BindCateDDL()
{
//DropDownList ddl;
DataTable dt = new BALCate().GetCate();
ddl.DataSource = dt;
ddl.DataTextField = "colForName";
ddl.DataValueField = "colForValue";
ddl.DataBind();
}
答案 1 :(得分:1)
您所要做的就是将下拉列表绑定到数据表,如下所示;
ddl.DataTextField = "ColumnName1";
ddl.DataValueField = "ColumnName2"
ddl.DataSource = dt;
ddl.DataBind()