1

我知道如何遍历网格视图行:


foreach (GridViewRow oItem in GridView1.Rows)
{
    //
}

但我想要做的是循环整个gridview,包括其他页面中的行,如果我启用paging. 这个怎么做 ?

4

2 回答 2

2

@just_name,您需要记住,对 GridViewRow 等服务器端对象的任何操作都是处理数据的最糟糕方式。如果您需要任何数据驱动的操作 - 在数据源中进行,而不是在视图中进行。

于 2012-10-06T17:36:29.827 回答
1

您可以使用Cast<T>OfType<T>转换为IEnumerable<T>

foreach (GridViewRow oItem in GridView1.Rows.OfType<GridViewRow>())
{
}

或者:

foreach (GridViewRow oItem in GridView1.Rows.Cast<GridViewRow>())
{
}

在这种情况下,两者都使用是正确的,因为Rows只包含GridViewRow. 但是您不应该注意到两种方法之间的区别:

  1. Cast<T>元素转换为指定的类型。

  2. OfType<T>:根据指定类型过滤元素。

于 2012-10-06T17:26:28.117 回答