日期:2014-05-19  浏览次数:20534 次

如何在GridView控件里动态生成textbox,又如何获取其中所有的textbox.text
在pageload里生成一个只有行名和列名的空GridView.
我的代码如下:
DataTable   dataTable   =   new   DataTable();
DataColumn   column   =   new   DataColumn();
for   (i   =   -1;   i   <length;   i++)
{
    if   (i   ==   -1)
{
    column.ColumnName   =   "姓名 ";
    dataTable.Columns.Add(column);
}
    else
{
    column   =   new   DataColumn();
    column.ColumnName   =   itemArray[i];
    dataTable.Columns.Add(column);
}
}

  for   (int   j   =   0;   j   <   namecounter;   j++)
{
      DataRow   row   =   dataTable.NewRow();
      row[ "姓名 "]   =   nameArray[j];
      dataTable.Rows.Add(row);
  }
    GridView1.DataSource   =   dataTable;
    GridView1.DataBind();

其中nameArray是数组,namecounter是它的长度
length是数组itemArray的长度

请问各位大哥,如何在各空列里根据namecounter和length的值,动态生成textbox,并且把textbox.text保存下来.


------解决方案--------------------
<asp:TemplateField> <ItemTemplate> <asp:TextBox ID= "txt1 " runat= "server " Text= ' <%#Eval( "姓名 ")%> '> </asp:TextBox> </ItemTemplate> </asp:TemplateField>
------解决方案--------------------
http://blog.csdn.net/wszhoho/archive/2007/03/25/1540598.aspx
这个是遍历checkbox的,其实textbox也可以用其中一种。
------解决方案--------------------
不知道我理解的对不对
你所谓的动态数据是直接从数据库查询得到数据集么?

给我的感觉就是如此

那么你直接可以使用gridview的默认的编辑更新来做,不用动态控件,根本用不着。
也可以使用模版列来做
------解决方案--------------------
http://www.cnblogs.com/lds85930/articles/648984.html
这个是个例子,你看看
------解决方案--------------------
放个TEXTBOX就行了,后台CS里面做操作的时候取值就行了。。。
定义一下。