如何遍历整个gridview行,包括其他页面中的行?

时间:2012-10-06 17:23:45

标签: c# asp.net loops gridview data-paging

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


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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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>根据指定的类型过滤元素。