我在哪里可以使用jqgrid remapColumns函数?

use*_*336 2 jquery jquery-ui jqgrid

如果我remapColumnscolumnChooser完成事件中使用,那么我对列进行排序没有问题.但是,当我移动 remapColumnsbeforeReques一个新的烫发信息T,见下图:

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);
}
Run Code Online (Sandbox Code Playgroud)

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

非常感谢!

Ole*_*leg 5

答案中,您可以找到一个如何使用的示例remapColumns,我希望为您提供另一个有用的信息.在演示中,我使用remapColumns 一次的内部loadComplete.我不明白为什么要在每次请求到服务器时更改列顺序.

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

更新2:免费jqGridremapColumnsByName另外提供方法remapColumns.第一个参数remapColumnsByName是列名称数组,它应该在网格上.列"subgrid","cb"并且"rn"可以包括或不包括.对于使用的理解remapColumnsByName要容易得多,remapColumns特别是在用户可以更改列顺序的情况下(columnChooser例如,).严格建议使用remapColumnsByName而不是remapColumns.