我需要获取 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过程。
答案 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