循环遍历具有多个页面的gridview行

时间:2012-03-06 23:15:38

标签: vb.net datagridview

是否可以在多个页面的网格视图中循环,我正在查看的gridview的pageSize为20,有26条记录(超过两页),我希望能够遍历所有记录。

For Each row As GridViewRow In GridView.Rows
.
.
.

Next row

当pageSize设置为20时,上面的计数只有20,我可以看到pagecount是2,但是如何在gridview中循环下一页?或者我是否必须遍历原始数据源?

2 个答案:

答案 0 :(得分:0)

正如您的问题所示,您必须遍历原始数据源,因为GridView.Rows将对应于当前行,在本例中限制为20,显示在GridView中。

答案 1 :(得分:0)

您有两种选择:1)使用包含网格所有行的原始数据源(一种非常不优化的解决方案!)或2)使得从数据库获取结果集的存储过程针对分页进行了优化。如果使用选项1,则必须使用当前页面重新绑定网格(常见的解决方案是使用linq并查询数据源)。如果使用选项2,则可以从数据库访问结果集。无论哪种方式,您最终都需要使用ItemDataBound事件,然后您可以遍历网格中的每个项目。