在继续this great answer之后,我正在寻找一种方法来删除“X”部分,该部分是寻呼机'X页Y'的一部分。
所以如果我在流媒体模式下工作,我只知道前面还有一页,不知道有多少实际页面在前面等待,我宁愿不显示“X”这不是是的,但只显示当前的页码。
是否有内置方式我只能显示当前页面和下一个箭头?
谢谢,
答案 0 :(得分:2)
您在网格中看到的所有文本都可以进行本地化。相应的模板来自grid.locale-XX.js
个文件。例如,您可以打开grid.locale-en.js
文件并搜索page
。您会在pgtext: "Page {0} of {1}"
部分(defaults
)内找到属性$.jgrid.defaults
。 defaults
设置与jqGrid的选项相同,但由于特定于语言的文本,因此在区域设置文件grid.locale-XX.js
中移动了。
因此,您只需将选项pgtext: "Page {0}"
添加到jqGrid即可。免费的jqGrid 4.8中有一个小问题。它仅从本地文件中获取所有选项(甚至是defaults
部分)。我{4}} GitHub上当前代码中的行为。因此,您应该刷新您使用的源。或者,您可以按照
$.jgrid.defaults.pgtext = "Page {0}";
fixed使用GitHub中的最后一个来源(https://rawgit.com/free-jqgrid/jqGrid
),因此它只能使用pgtext: "Page {0}"
。它显示如下图所示的寻呼机
更有趣的是我们在评论The demo时与您讨论的情景。您希望首先从网格返回数据,并通过单独的Ajax调用获取有关记录总数和页面以后的信息。原因是:你需要从SELECT中获取COUNT(*)
,这会产生非常大的结果。因为获得一个页面比获得COUNT(*)
更快。在该方案中,您首先要隐藏记录总数,并在完成对COUNT(*)
的Ajax调用之后显示该值。使用该场景将导致隐藏 X""在开始时部分寻呼机,并在完成对COUNT(*)
的Ajax请求之后显示它。
我建议使用以下选项
pgtext: "Page {0}<span class='pagerOf' style='display:none'> of {1}</span>"
在场景中。该选项将在寻呼机中具有所需信息,但信息最初将隐藏。寻呼机的{1}
部分将替换为<span>
,其ID将使用sp_1_
前缀基于寻呼机ID构建。它将允许您显示或隐藏......&#34;任何时候寻呼机的一部分。
your previous question演示了这种方法。它有两个按钮,可以显示/隐藏...&#34; ...寻呼机的一部分动态。您可以在所做的Ajax请求中使用相同的代码。最后一个演示使用以下代码
var getPagerOf = function (grid) {
var p = grid.jqGrid("getGridParam"), sel = [];
if (p.pager) {
sel.push("#sp_1_" + p.pager.substr(1));
}
if (p.toppager) {
sel.push("#sp_1_" + p.toppager.substr(1));
}
return $(sel.join()).closest(".pagerOf");
}
$("#showOfPager").button().click(function () {
getPagerOf($grid).show();
});
$("#hideOfPager").button().click(function () {
getPagerOf($grid).hide();
});