如何获取DataGrid的总行数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取DataGrid的总行数相关的知识,希望对你有一定的参考价值。
遇到一个问题,需要获得datagrid的总行数,把datagrid的API找了一遍,getRows这个方法也只能获取当前页中记录的行数.发现datagrid依赖pagination这个组件,从这个线索找还真的找到了, 分享出来.
var options = $('#resulttable').datagrid('getPager').data("pagination").options;
var totalRowNum = options.total;
第一行:getPager获取页面对象进而获取pagination这个组件.
第二行:pagination组件提供了total这个属性. 参考技术A 遇到一个问题,需要获得datagrid的总行数,把datagrid的API找了一遍,getRows这个方法也只能获取当前页中记录的行数.
发现datagrid依赖pagination这个组件,从这个线索找还真的找到了, 分享出来.
var options = $('#resulttable').datagrid('getPager').data("pagination").options;
var totalRowNum = options.total;
第一行:getPager获取页面对象进而获取pagination这个组件.
第二行:pagination组件提供了total这个属性.
如何在不知道数据库总行数的情况下执行自定义分页
【中文标题】如何在不知道数据库总行数的情况下执行自定义分页【英文标题】:How to perform custom pagination without knowing the total number of rows from DB 【发布时间】:2020-03-09 21:33:46 【问题描述】:我正在尝试执行分页。我正在使用存储过程来获取我的数据。如果我在我的桌子上做 Count(*),因为桌子很大,所以需要几分钟才能给我结果。在不知道总行数的情况下,我还能如何进行分页。
我尝试获取有关页面大小的数据,并尝试在后台的异步调用中从 DB 获取总行数,以便我可以快速加载页面,但获取总行数以计算正确的页数为以后。它并没有真正起作用。任何建议将不胜感激。使用sql server、ASP.net、C#
【问题讨论】:
【参考方案1】:这应该让您更快地获得总行数:
DECLARE @TotalRows INT = 0;
SELECT @TotalRows = max(ROWS)
from sysindexes
where id = object_id('YourTableName')
编辑:@droiddev 存储过程结果行计数的可能解决方案:
Create procedure procedurename
AS
Begin
Select * from Table --if you want where condition write here
End
Exec Procedurename
Select @@rowcount
摘自这篇 *** 帖子:Counting the number of rows returned by stored procedure
我还没有测试过它是否更快,但问题基本上和你的一样。
【讨论】:
谢谢,但我正在尝试获取存储过程的总行数,它是几个表的连接。关于如何为此快速获取总行数的任何想法? @droiddev 我链接了一个类似的 *** 帖子和一个来自建议答案之一的 sn-p。我希望这会有所帮助,不幸的是我没有满足这些标准的数据库来测试性能。以上是关于如何获取DataGrid的总行数的主要内容,如果未能解决你的问题,请参考以下文章