免费jqGrid 4.8.0 - 在寻呼机栏中隐藏'of X',其中显示'page Y ox X'

时间:2015-06-02 14:30:58

标签: jquery jqgrid free-jqgrid

在继续this great answer之后,我正在寻找一种方法来删除“X”部分,该部分是寻呼机'X页Y'的一部分。

所以如果我在流媒体模式下工作,我只知道前面还有一页,不知道有多少实际页面在前面等待,我宁愿不显示“X”这不是是的,但只显示当前的页码。

是否有内置方式我只能显示当前页面和下一个箭头?

谢谢,

1 个答案:

答案 0 :(得分:2)

您在网格中看到的所有文本都可以进行本地化。相应的模板来自grid.locale-XX.js个文件。例如,您可以打开grid.locale-en.js文件并搜索page。您会在pgtext: "Page {0} of {1}"部分(defaults)内找到属性$.jgrid.defaultsdefaults设置与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}"。它显示如下图所示的寻呼机

enter image description here

更有趣的是我们在评论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();
});