逐页显示网格视图中的数据

时间:2011-10-30 16:16:21

标签: vb.net postgresql datagridview pagination

我在表格中有超过30,000行。加载gridview中的所有数据需要花费大量时间。所以我想一次显示100行。当我单击下一页按钮时,应显示另外100行。单击上一页按钮时,应显示前100行。如果我在文本框中输入第5页,那么我想跳到第5行。

我还想显示会有多少页面。我们可以在vb.net [winform] gridview中实现这个概念吗?我正在使用数据库PostgreSQL。

任何人都可以给我一个提示或一些概念吗?

1 个答案:

答案 0 :(得分:1)

查看PostgreSQL中的OFFSET and LIMIT 您对第5页的查询可能如下所示:

SELECT * 
FROM   tbl
ORDER  BY id
OFFSET 400
LIMIT  100;

id是我示例中的主键,因此会自动生成一个索引。 如果以这种方式大量访问该表,使用CLUSTER可以提高性能。

总页数:

SELECT ceil(1235::real / 100)::int
FROM   tbl;

如果您希望将数字向下舍入,只需简化为:

SELECT 1235  / 100
FROM   tbl;

如果两个数字都是整数,则结果将是整数类型,并自动截断小数位数。但我认为你需要在这里进行整理。

相关问题