如何在免费的 jqgrid 中显示大于 9999 的行号

How to show row numbers greater than 9999 in free jqgrid

代码来自答案Set rownumbers to false dynamically in jqgrid

用于创建切换行号的按钮。

    $grid.jqGrid("navButtonAdd", "#grid_toppager", {
        buttonicon: "fa-list-ol",
        iconsOverText: true,
        caption: '',
        id: "RowNumbers",
        onClickButton: function (options, e) {
            var $me = $(e.currentTarget);
            if ($grid.jqGrid('getGridParam', 'rownumbers') && $grid[0].p.colModel[0].hidden ) {
                $grid.jqGrid('showCol', 'rn');
                $me.addClass("ui-state-active");
            } else {
                $grid.jqGrid('hideCol', 'rn');
                $me.removeClass("ui-state-active");
            }
            resizeGrid();
            saveWindowState();
        }
    });

    if (isColState && myColumnsState.rownumbers) {
        $("#RowNumbers").click();
    }

如果行号大于 9999,则最后一位数字不可见。

行号 10000 .. 10009 显示为 1000,10010 显示为 1001 等。 如何显示完整的行号? 我在浏览器中尝试了不同的缩放级别,以防止出现完整的行号。 想要调整大小,但行号列似乎无法调整大小。

jqGrid 有 rownumWidth 选项,允许在创建网格 期间增加 rn 列的宽度 。如果需要动态设置列宽可以使用setColWidth描述的here and . The demo shows that you can set the width of rn column dynamically. The method setColWidth is a part of free jqGrid 4.8,所以可以直接使用