获取页码和页面大小

时间:2017-07-25 11:48:20

标签: c# asp.net jsgrid

我需要获取 jsgrid 的页面大小和页码。根据页码,我需要从DB获取记录。因为当我使用超过100k的记录时,jsgrid会被卡住并长时间加载。

如何获取jsgrid的页码? 而且我想获取搜索文本并将其传递给cs方法。我不希望使用

在jsgrid中进行过滤
loadData: function (filter) {
    return $.grep(clients, function (client) {
        return (!filter["fieldname"] || client["fieldname"].toLowerCase().indexOf(filter["fieldname"].toLowerCase()) > -1) )}

它正在过滤jsgrid中加载的数据。我想将搜索文本传递给cs。

获取要在jsgrid中绑定的数据,(序列化数据)

  DataTable dtItem = // get the data from the DB foreach 
    (DataRow row in dtItem .Rows) 
    {
     gridList += "{'Id':" + row["ID"] + ",'Name': '" + row["NAME"] + "'}, ";
    }

要搜索,需要从过滤区域获取数据并将其与pagenumber一起传递给sql过程。

1 个答案:

答案 0 :(得分:1)

jsGrid选项中决定所需的网页尺寸,例如:

$("#table").jsGrid({
  ...
  paging: true,
  pageSize: 10, //eg 10 rows per page
  pageLoading: true,
  ...

使用上述选项,网格将显示分页控件,即允许用户导航到下一页/上一页或跳转到页面的链接。

pageLoading为真时,filter方法中的loadData参数将包含两个成员,例如:

filter: { pageSize: 10, pageIndex: 2 }

filter.pageIndex取决于用户点击的导航链接。然后,您应该使用这两个参数来相应地调整数据库查询,以便仅返回pageSize th 页面的pageIndex行(从0开始计算)。

您的loadData方法不得返回整个数据表!如果您使用的是Microsoft SQL Server,则只需返回页面的行,例如:

SELECT * FROM T1 OFFSET pageSize*pageIndex ROWS FETCH NEXT pageSize ROWS ONLY