首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

!这样GridView的OnRowDataBound事件如何了

2012-01-06 
在线等!急!这样GridView的OnRowDataBound事件怎么了?我的目的是想要在GridView的每个表头项添加一个CheckB

在线等!急!这样GridView的OnRowDataBound事件怎么了?
我的目的是想要在GridView的每个表头项添加一个CheckBox,代码如下:
        protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e)
        {
                if   (e.Row.RowType   ==   DataControlRowType.Header)
                {
                        for   (int   i   =   0;   i   <   GridView1.Columns.Count;   i++)
                        {
                                Literal   l   =   new   Literal();
              CheckBox   chk   =   new   CheckBox();
                                l.Text   =   e.Row.Cells[i].Text;
                                e.Row.Cells[i].Controls.Add(l);
                                e.Row.Cells[i].Controls.Add(chk);
                        }
                }
        }
前台也注册了OnRowDataBound这个事件,但是编译后并没有任何反应。后来我又测试了一下,
把第一列的表头项添加一个CheckBox,代码如下:
        protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e)
        {
                if   (e.Row.RowType   ==   DataControlRowType.Header)
                {
                        Literal   l   =   new   Literal();
      CheckBox   chk   =   new   CheckBox();
      l.Text   =   e.Row.Cells[0].Text;
      e.Row.Cells[0].Controls.Add(l);
      e.Row.Cells[0].Controls.Add(chk);
                }
        }
运行后在第一列的表头项成功添加了一个CheckBox。
请大家看看这到底是什么原因。。。谢谢大家了

[解决办法]
for (int i = 0; i < GridView1.Columns.Count; i++)==> for (int i = 0; i < e.Row.Cells.Count; i++)
[解决办法]
跟踪一下.Row.Cells.Count
[解决办法]
不加id也应该生成的.
[解决办法]
for (int i = 0; i < GridView1.Columns.Count; i++)这个问题
[解决办法]
GridView1.Columns是手动加的列.自动绑定的不算.

热点排行