【发布时间】:2015-08-16 10:02:34
【问题描述】:
继续this great answer,我正在寻找一种方法来删除作为寻呼机“X 页 Y”一部分的“X”部分。
因此,如果我在流媒体模式下工作,我只知道前面还有一页,而不知道有多少实际页面在前面等待,我宁愿不显示“X”,这不是true,但只显示当前页码。
有没有一种内置方法可以只显示当前页面和下一个箭头?
谢谢,
【问题讨论】:
标签: jquery jqgrid free-jqgrid
继续this great answer,我正在寻找一种方法来删除作为寻呼机“X 页 Y”一部分的“X”部分。
因此,如果我在流媒体模式下工作,我只知道前面还有一页,而不知道有多少实际页面在前面等待,我宁愿不显示“X”,这不是true,但只显示当前页码。
有没有一种内置方法可以只显示当前页面和下一个箭头?
谢谢,
【问题讨论】:
标签: jquery jqgrid free-jqgrid
您在网格中看到的所有文本都可以本地化。对应的模板来自grid.locale-XX.js 文件。例如,您可以打开grid.locale-en.js 文件并搜索page。您会在 defaults 部分 ($.jgrid.defaults) 中找到属性 pgtext: "Page {0} of {1}"。 defaults 设置与 jqGrid 的选项相同,但由于语言特定的文本,在语言环境文件中移动了 grid.locale-XX.js。
因此,您只需将选项 pgtext: "Page {0}" 添加到 jqGrid。免费的 jqGrid 4.8 中有一个小问题。它仅从本地文件中获取所有选项(甚至是 defaults 部分)。我fixed GitHub 上当前代码中的行为。所以你应该刷新你使用的来源。或者你可以设置选项的方式
$.jgrid.defaults.pgtext = "Page {0}";
The demo 使用来自 GitHub (https://rawgit.com/free-jqgrid/jqGrid) 的最后一个源,因此它只能使用 pgtext: "Page {0}"。它显示如下图所示的寻呼机
更有趣的是我们在your previous question 的评论中与您讨论的场景。您想首先从网格中返回数据,然后通过单独的 Ajax 调用获取有关记录和页面总数的信息。稍后。原因是:您需要从 SELECT 中获取COUNT(*),这会产生非常大的结果。因为获得一页比获得COUNT(*) 更快。在场景中,您希望首先隐藏记录总数,然后在完成对 COUNT(*) 的 Ajax 调用后显示该值。使用该场景,结果是在开始时隐藏寻呼机的“of X'”部分,稍后在对COUNT(*) 的 Ajax 请求完成后显示它。
我建议使用以下选项
pgtext: "Page {0}<span class='pagerOf' style='display:none'> of {1}</span>"
在场景中。该选项将在寻呼机中包含所需的信息,但这些信息最初会隐藏。寻呼机的 {1} 部分将被替换为具有 id 的 <span>,该 id 将基于使用 sp_1_ 前缀的寻呼机 id 构建。它将允许您随时显示或隐藏寻呼机的“...”部分。
The next demo 演示了该方法。它有两个按钮,可以动态地显示/隐藏寻呼机的“...”部分。您可以在您发出的 Ajax 请求中使用相同的代码。最后一个demo使用如下代码
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();
});
【讨论】:
grid.locale-XX.js 的一部分 $.jgrid.defaults 的设置。