一个For 循环的问题
在GridView 中绑顶数据列可以有两种方式 一是让它自动生成字段 一是手动绑顶字段。但是在后代码编写程序时,发现他们俩有区别,想问下大伙什么原因。
我在编写一函数时,用到了一个For 循环
for(int i=0;i <GridView1.Columns.count;i++)
{
............
}
如果GridView 是自动生成字段的话,这个For 循环就不会执行。(GridView1.Columns.Count =0)
但是如果是手动添加的绑顶字段,就会执行For 循环里的代码
为什么啊?自动生成字段不是也会产生列吗?
------解决方案--------------------你这是循环是放在绑定前执行的还是绑定后执行的?
绑定前执行当然没有Column了。
------解决方案--------------------如果GridView 是自动生成字段的话,这个For 循环就不会执行。(GridView1.Columns.Count =0)
========
这是一个已知的问题,颇让人费解,asp.net team 为何如此设计的前后不一致?
当前版本 (2.0) GridView.Columns 仅表示,显示的添加到其中的 Column,
通过 AutoGenerateColumns = true 生成的列不包含其中
------解决方案--------------------幸好, AutoGenerateColumns = true 基本是鸡肋功能, 我几乎可以忽略它的存在!
------解决方案--------------------那个Count本来就是你绑定的列,自动生成是不算的
------解决方案--------------------楼上说得对
------解决方案--------------------看写在什么事件里了!
------解决方案--------------------Jinglecat(晓风残月 > > 问题需简洁,错误要详细,需求得明确)
这是一个已知的问题,颇让人费解,asp.net team 为何如此设计的前后不一致?
当前版本 (2.0) GridView.Columns 仅表示,显示的添加到其中的 Column,
通过 AutoGenerateColumns = true 生成的列不包含其中
-------------------------------------
一直纳闷,为什么非要显式添加的Column才会计算在内,微软大意了,难道是?
期望改进后的GridView赶快出来!!