我正在绑定一个下拉列表,我在第一列中有firstname,在第二列中有一个DDL作为DDL。
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
DataTable myTable = new DataTable();
DataColumn productIDColumn = new DataColumn("FirstName");
DataColumn productNameColumn = new DataColumn("LastName");
myTable.Columns.Add(productNameColumn);
DataSet ds = new DataSet();
ds = get();
if (e.Row.RowType == DataControlRowType.DataRow)
{
var fname= (e.Row.Cells[0].Text);
var expression = "FirstName "+fname;
DropDownList ddl = (DropDownList)e.Row.FindControl("DropDownList1");
DataRow[] rows = ds.Tables[0].Select(expression);
ddl.DataSource = myTable;
ddl.DataTextField = "LastName";
ddl.DataValueField = "LastName";
ddl.DataBind();
}
但是ddl是空的无法填写ddl的任何帮助吗?
答案 0 :(得分:0)
根据您的代码判断,myTable
没有数据。
您正在创建myTable
,但您没有填写它:您正在将信息提取到变量ds
中,并将其过滤到rows
,但您设置了ddl.DataSource
} myTable
,而不是rows
。
使用rows
,只要rows
中有数据,您就可以了。
ddl.DataSource = rows;
ddl.DataTextField = "LastName";
ddl.DataValueField = "LastName";
ddl.DataBind();