如果我在remapColumns
的完成事件中使用了columnChooser
,则对列进行排序没有问题。但是当我搬家时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);
}
列已正确重新排序,并且我可以搜索列值,但是列排序功能刚刚被禁用。点击事件似乎不起作用。有人可以帮忙吗?我如何找回它?
真的很感激。
非常感谢!
严
最佳答案
在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
。