gridView1.Columns.Count 总是为 0

作者:vkvi 来源:ITPOW(原创) 日期:2008-6-27

MSDN 上说:

如果您正在使用 GridView 或 DetailsView 控件,则自动创建(例如,当 AutoGenerateColumns 属性为 true 时)的 DataControlField 对象不会存储在公共可访问的字段集合中。只能访问和操作不是自动生成的 DataControlField 对象。

也就是说,如果一个 GridView 的列全部是自动创建的,那么其 Columns.Count 结果就总为 0。

要获取实际的列数,可以透过数据源获取,比如:

dataView.Table.Columns.Count

如果要更改相关内容,也是透过数据源,比如更改列名:

dataView.Table.Columns[0].ColumnName = "c1";

上面是通过编程的方式与 DataView 控件相连,如果是通过声明式的数据绑定与 DataView 控件相连就无法办到了。比如通过 SqlDataSource 这个控件指定数据源与要选的数据,而 DataView 通过 DataSourceID 与 SqlDataSource 相连。

相关文章