如何仅在免费 jqgrid 中有多个页面时才显示寻呼机



使用带有顶级工具栏的免费 jqgrid:

    $.extend(true, $.jgrid.defaults, {
        mtype: 'POST',
        iconSet: "fontAwesome" ,
        navOptions: {
            position: "center"},
        autoResizing: { compact: true,widthOfVisiblePartOfSortIcon: 13 },
        toppager: true,
        viewrecords: false,
        rowList: [50, 500, 1000],
        rowNum: 50,
...

按钮和寻呼机位于呈现为内联块元素的工具栏左侧。在中心部分。顶级工具栏的左侧和右侧部分使用答案中的代码删除如何在免费的JQGard中将寻呼机放置在工具栏顶部的末尾

    $("#grid_toppager")
         .find(".ui-pg-button")
         .each(function (i) {
             $(this).attr({
                 tabindex: String(i),
                 role: "button"
             });
         });
    $("#grid_toppager_left").hide();
    $("#grid_toppager_right").hide();
    $("#grid_toppager_center").attr("colspan", "2");
    $("#grid_toppager_center").css({ width: "", "text-align": "left", "white-space": "" });
    $("#grid_toppager_center").find(">.navtable").append(
        $("#grid_toppager_center").find(">table.ui-pg-table")
    );
    $("#grid_toppager_center").find(">.navtable>table.ui-pg-table").css({display: "inline-block"});
    $grid.bind("jqGridAfterGridComplete", function () {
        var p = $(this).jqGrid("getGridParam"), $toppager = $(p.toppager);
        $toppager.find(".navtable").css("width", "");
    });

相同的代码用于编辑具有不同行数的表。如何仅在页面超过一个(超过 50 行)时才在顶级工具栏中显示 jqgrid 分页器?

许多表包含的行很少,显示寻呼机不是必需的。

如果添加了新行,寻呼机应自动或交替出现,用户可以刷新页面以强制显示寻呼机。

更新

使用具有快速检索功能的远程分页数据,根据如何在单个请求上检索共模和数据并加快 JQgrid 加载速度

仅返回页面大小+1 行。JSON 结果是在 MVC4 中创建的 ASP.NET 没有记录值:

            return new
            {
                total = rowList.Count() < rows ? page : page + 1,    
                page,
                rows = rowList
            };

p.reccount 和 p.records 始终具有相同的值,因此永远不会显示寻呼机。在这种情况下如何有条件地显示寻呼机?也许应该使用将页面中的记录与页面大小进行比较?

如果我

正确理解问题,您可以使用

loadComplete: function () {
    var p = $(this).jqGrid("getGridParam"),
        $topPagerButtons = $(p.toppager + "_center").find(">.navtable>table.ui-pg-table");
    $topPagerButtons[p.reccount < p.records ? "show" : "hide"]();
}

请参阅演示。您可以选择在演示的页面上显示 20 行或更多行,带有寻呼机的按钮将被隐藏。

最新更新