标签: c# asp.net loops gridview data-paging
我知道如何遍历网格视图行:
foreach (GridViewRow oItem in GridView1.Rows) { // }
但我想要做的是循环遍历整个gridview,包括其他页面中的行,如果我启用paging。 怎么做?
paging
答案 0 :(得分:2)
@just_name,你需要记住,对像GridViewRow这样的服务器端对象的任何操作都是处理数据的最糟糕方式。如果您需要任何数据驱动的操作 - 在数据源中进行操作,而不是使用视图。
答案 1 :(得分:1)
您可以使用Cast<T>或OfType<T>转换为IEnumerable<T>:
Cast<T>
OfType<T>
IEnumerable<T>
foreach (GridViewRow oItem in GridView1.Rows.OfType<GridViewRow>()) { }
或者:
foreach (GridViewRow oItem in GridView1.Rows.Cast<GridViewRow>()) { }
在这种情况下,使用两者都是正确的,因为Rows仅包含GridViewRow的元素。但你不应该注意到两种方法之间的差异:
Rows
GridViewRow
Cast<T>:将元素投射到指定类型。
OfType<T>:根据指定的类型过滤元素。