无法在gridview中填充下拉列表

时间:2012-10-24 16:32:58

标签: c# asp.net datatable

我正在绑定一个下拉列表,我在第一列中有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的任何帮助吗?

1 个答案:

答案 0 :(得分:0)

根据您的代码判断,myTable没有数据。

您正在创建myTable,但您没有填写它:您正在将信息提取到变量ds中,并将其过滤到rows,但您设置了ddl.DataSource } myTable,而不是rows

使用rows,只要rows中有数据,您就可以了。

ddl.DataSource = rows;

ddl.DataTextField = "LastName"; 

ddl.DataValueField = "LastName"; 

ddl.DataBind();