2

如果我remapColumnscolumnChooser's done 事件中使用,那么对列进行排序就没有问题。remapColumns但是当我使用新的烫发信息搬到 beforeRequest 时,请参见下文:

beforeRequest: function(){                                              
    perm =   {0:2,1:0,2:1,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10};
    myGrid.jqGrid("remapColumns", perm,  true);
}

列已正确重新排序,我可以搜索列值,但列排序功能刚刚被禁用。点击事件似乎不起作用。有人可以帮忙吗?我怎样才能找回它?真的很感激。

非常感谢!

4

1 回答 1

5

答案中,您可以找到一个如何使用的示例remapColumns,我希望其他信息对您有所帮助。在演示中,我remapColumns . loadComplete我不明白您为什么要更改对服务器的每个请求的列顺序。

更新修改后的演示没有你描述的效果。原因是在旧的演示中调用了remapColumns带有空([])置换参数的方法,并且remapColumns在这种情况下工作不正确。所以我包括了额外的测试myColumnsState.permutation.length > 0

更新 2免费 jqGrid提供remapColumnsByName额外的方法remapColumns。的第一个参数remapColumnsByName是列名数组,应该在网格上。Columns "subgrid",可以包含也可以不包含"cb""rn"对 的 用法的理解remapColumnsByName要容易得多,remapColumns尤其是在列的顺序可能由用户更改的情况下(columnChooser例如,通过 )。强烈建议使用remapColumnsByName而不是remapColumns.

于 2012-04-19T21:01:39.037 回答