Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在网格视图中逐页显示数据_Vb.net_Postgresql_Datagridview_Pagination - Fatal编程技术网

Vb.net 在网格视图中逐页显示数据

Vb.net 在网格视图中逐页显示数据,vb.net,postgresql,datagridview,pagination,Vb.net,Postgresql,Datagridview,Pagination,我在一个表中有30000多行。加载gridview中的所有数据需要很多时间。所以我想一次显示100行。当我单击“下一页”按钮时,将显示另外100行。单击“上一页”按钮时,应显示前100行。如果我在文本框中键入第5页,那么我想跳到第5行 我还想显示将有多少页。我们可以在vb.net[winform]gridview中实现这个概念吗。我正在使用数据库PostgreSQL 有谁能给我一个提示或一些概念吗?看看PostgreSQL中的内容。 您对第5页的查询可能如下所示: SELECT * FROM

我在一个表中有30000多行。加载gridview中的所有数据需要很多时间。所以我想一次显示100行。当我单击“下一页”按钮时,将显示另外100行。单击“上一页”按钮时,应显示前100行。如果我在文本框中键入第5页,那么我想跳到第5行

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

有谁能给我一个提示或一些概念吗?

看看PostgreSQL中的内容。
您对第5页的查询可能如下所示:

SELECT * 
FROM   tbl
ORDER  BY id
OFFSET 400
LIMIT  100;
id
在我的示例中是主键,因此索引会自动就位。 如果您经常以这种方式访问该表,那么使用它可能会提高性能

总页数:

SELECT ceil(1235::real / 100)::int
FROM   tbl;
如果要将数字向下舍入,只需简化为:

SELECT 1235  / 100
FROM   tbl;

当两个数字都是整数时,结果将是整数类型,小数位数将自动截断。但是我想你需要在这里集合。

Brandstetter:谢谢你的剧本。我在显示总页数时遇到一个问题。ceil()函数没有返回我想要的精确值。例如,如果ceil(42.04),那么它不返回42,而是返回43。有没有其他方法可以返回42而不是43?有
ceil
的兄弟:。您也可以简单地转换为整数,这将截断小数位数。但我选择ceil是有目的的。如果计算
42.04
,则必须显示
43
页-最后一页大部分为空,但仍然需要。