0

我在这里发现了类似但不相同的问题;他们发布的答案都没有解决这个问题。

我使用addJSONData. 当您单击列标题进行排序时,网格将被擦除。Web 控制台/firebug 中没有错误。稍后调用添加的数据addJSONData至少按所选列排序。

我的配置:

jQuery('#attributes').jqGrid({
    sortable:true,
    datatype:"local",
    colNames: cols,
    colModel: colmods,
    cmTemplate: {width:155, align:"left"},
    multiselct: false,
    shrinkToFit:false,
    caption: "Node Attributes",
    scroll: true,
    footerrow: true,
    userDataOnFooter: true,
    rowNum: -1
});

我唯一的想法是保存数据onSortCol并将其重新加载到loadComplete. 不过我不太喜欢这样。我尝试了rowNum: 9007199254740992,loadonce: true和其他的各种组合。

我已经尝试过 jqGrid 版本 4.2.0 和 4.4.0 (rowNum: -1再次支持)。

编辑:清除数据的行是emptyRowssortData 函数中的位:

        if(ts.p.scroll) {
            var sscroll = ts.grid.bDiv.scrollLeft;
            emptyRows.call(ts, true, false);
            ts.grid.hDiv.scrollLeft = sscroll;
        }

似乎应该在这种情况发生之前保存数据,但我不熟悉此代码以了解数据的实际位置。

4

2 回答 2

0

我有一个类似的问题。我偶然发现了一个修复。设置 loadonce: true 后,如果您点击寻呼机中的刷新按钮然后尝试排序,则可以正常工作。

所以我通过执行以下操作强制单击刷新按钮:$(".ui-icon-refresh").trigger('click');

我在 onClose 事件上运行了这个,因为这符合我的要求。你可以在这里查看我对这个问题的全部解释:Make 'Search' remote and all other things (sorting, pagination, etc) local in jqGrid

于 2012-08-27T17:51:16.810 回答
0

我是 jqGRid 的新手(我 3 天前才开始使用它......)但是,如果您使用本地,您是否还必须指定 loadonce:true 才能进行排序和分页工作?

于 2012-08-20T02:15:03.753 回答