如何更改jqgrid分页 喜欢: 第1页,共15页(150件商品)<< < 1 2 3 4 5 .. 12 13 15> >>
两者都显示在中心td。
答案 0 :(得分:0)
查看提供相应演示的the answer。通常,您可以使用任何其他自定义方式创建寻呼机。你出租车。将1 2 3 4 5 ... 12 13 15
链接放在链接上并绑定点击事件处理程序非常重要。在事件处理程序内部,您只需在网格上触发reloadGrid
事件,并使用相应的page
参数:$("#gridid").trigger("reloadGrid", [{page: newPage}]);
。另请参阅the answer。
更新:The answer已有3.5年历史。演示使用jqGrid 3.8.2版本。从版本4.3.2(当前为4.6)开始,jqGrid支持jQuery事件。它允许轻松注册更多作为一个事件处理程序。像loadComplete
或onSelectRow
这样的经典回调的缺点:“只能有一个”。例如,您无法使用寻呼机初始化定义一个通用回调loadComplete
,并使用特定<另一个附加回调loadComplete
/ em>其他行动。您可以按
loadComplete
$.extend(true, $.jgrid.defaults, {
loadComplete: function (data) {
...
}
});
但如果在网格中定义loadComplete
,它将被覆盖。另一方面,可以注册多个 jqGridLoadComplete
或jqGridAfterLoadComplete事件处理程序,并且将调用所有事件处理程序。 jQuery 追加事件处理程序列表,而不是覆盖它。
因此,要在包含许多网格的复杂项目中实现新功能(如新寻呼机),我建议您使用两个代码段。
第一个需要小修改代码。看看the demo。网格选项不包含任何loadComplete
回调,但包含行
$grid.on("jqGridAfterLoadComplete", refreshPager);
在创建网格$grid
之前 。 refreshPager
的代码是旧版演示中loadComplete
回调的修改副本。以这种方式可以注册多个 "jqGridAfterLoadComplete"
事件处理程序。
您可以通过添加行
来修改代码myjqGridInit($grid);
在每个网格创建之前,将myjqGridInit
函数的代码放在.js
之后包含的单独jquery.jqGrid.min.js
文件中。在这种方式中,您可以将jqGrid的所有常见项目初始化(如注册$grid.on("jqGridAfterLoadComplete", refreshPager);
)放在项目的一个位置。维护这样的项目很容易。
如果到目前为止你还没有使用onInitGrid
回调,我可以建议你使用jqGrid对现有页面进行微小更改的第二种选择。如果您在项目中使用母版页,则可能需要在 jquery.jqGrid.min.js
之后和创建任何网格之前包含以下代码:
$.extend(true, $.jgrid.defaults, {
onInitGrid: function () {
refreshPager.call(this);
}
});
上面的代码定义了默认的onInitGrid
回调,它使所有项目初始化。您可以将refreshPager
的代码放在单独的.js
文件中,并将其包含在母版页中。
The demo演示了该代码段。这样您就可以在现有项目的所有 jqGrids中实现新功能,而只需对代码进行最少的修改。唯一的限制是:您不应在网格中使用onInitGrid
回调,因为它会覆盖常见的初始化。