如果我在remapColumns
的已完成事件中使用columnChooser
,那么我对列进行排序没有问题。但是当我感动的时候
使用新的perm信息remapColumns
到beforeReques
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);
}
列已正确重新排序,我可以搜索列值,但列排序功能刚刚被禁用。点击事件似乎无效。有人可以帮忙吗?我怎样才能找回来? 真的很感激。
非常感谢!
严
答案 0 :(得分:5)
在the answer中,您可以找到如何使用remapColumns
的示例,我希望您能提供其他有用的信息。在演示中,我在remapColumns
内使用了loadComplete
一次。我不明白为什么要在服务器的每个请求上更改列顺序。
更新:The modified demo没有您描述的效果。原因是在旧演示中调用了具有空(remapColumns
)置换参数的方法[]
,并且remapColumns
在这种情况下工作不正确。所以我为myColumnsState.permutation.length > 0
添加了额外的测试。
更新2 :Free jqGrid还为remapColumnsByName
提供了方法remapColumns
。 remapColumnsByName
的第一个参数是列名称数组,它应该在网格上。可以包括或不包括列"subgrid"
,"cb"
和"rn"
。使用remapColumnsByName
比使用remapColumns
要容易得多,尤其是在用户可以更改列顺序的情况下(columnChooser
,例如)。严格建议使用remapColumnsByName
代替remapColumns
。