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

gridview问题!在代码里面创建列!!
gridview现在有两列,从第三列开始到最后是要动态生成的
请问怎么在cs文件中用代码创建列呢??需要创建的是checkbox列!!
请朋友们帮下!!!

------解决方案--------------------
这属于动态添加模板列
http://www.cnblogs.com/lovecherry/archive/2005/03/25/125526.html
------解决方案--------------------
去看看吧,很容易的
http://topic.csdn.net/t/20050602/08/4052868.html
------解决方案--------------------
如果你仅仅只要添加checkbox的话,我有个简单的方法。
首先在数据源上添加一列,类型为bool型
示例代码:
    DataTable dt = new DataTable();
dt.Columns.Add( "ID ", typeof(int));
dt.Columns.Add( "check ", typeof(bool));
for (int i = 0; i < 10; i++) {
dt.Rows.Add(new object[] { i, true });
}
GridView1.DataSource = dt;
GridView1.DataBind();
这样,绑定后的GridView就有一列CheckBox了,但是他是不可用的,还须要手动改成可选的
在RowCreated事件里,将CheckBox改成可用的
示例:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) {
foreach(TableCell cell in e.Row.Cells)
{
if (cell.Controls.Count > 0) {
CheckBox c = (CheckBox)cell.Controls[0];
if (c != null)
c.Enabled = true;
}
}
}