【问题标题】:Unable to populate drop down list inside gridview无法在gridview中填充下拉列表
【发布时间】:2012-10-24 16:32:58
【问题描述】:

我正在绑定一个下拉列表,我在第一列中有名字,在第二列中有姓氏作为 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 对此有何帮助??

【问题讨论】:

  • 第一列的填充是否正确?

标签: c# asp.net datatable


【解决方案1】:

从你的代码来看,myTable 没有数据。

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

使用rows,你可能会没事,只要rows中有数据。

ddl.DataSource = rows;

ddl.DataTextField = "LastName"; 

ddl.DataValueField = "LastName"; 

ddl.DataBind(); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多