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

时间:2012-04-19 20:37:07

标签: jquery jquery-ui jqgrid

如果我在remapColumns的已完成事件中使用columnChooser,那么我对列进行排序没有问题。但是当我感动的时候 使用新的perm信息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);
}

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

非常感谢!

1 个答案:

答案 0 :(得分:5)

the answer中,您可以找到如何使用remapColumns的示例,我希望您能提供其他有用的信息。在演示中,我在remapColumns内使用了loadComplete 一次。我不明白为什么要在服务器的每个请求上更改列顺序。

更新The modified demo没有您描述的效果。原因是在旧演示中调用了具有空(remapColumns)置换参数的方法[],并且remapColumns在这种情况下工作不正确。所以我为myColumnsState.permutation.length > 0添加了额外的测试。

更新2 Free jqGrid还为remapColumnsByName提供了方法remapColumnsremapColumnsByName的第一个参数是列名称数组,它应该在网格上。可以包括或不包括列"subgrid""cb""rn"。使用remapColumnsByName比使用remapColumns要容易得多,尤其是在用户可以更改列顺序的情况下(columnChooser,例如)。严格建议使用remapColumnsByName代替remapColumns