jqGrid列的顺序应该是用户特定的

在我的项目中,我有一个用户可以拖放jqGrid列的场景。 当同一个用户再次访问该站点时,我们必须显示他在上次访问时修改过的jqGrid列顺序。 因此,jqGrid列的顺序应该是用户特定的。 谁能帮助我如何实现这一目标? (我需要返回jQgrid列的类型和格式)。

您需要的行为实现并不是很简单。 我建议你将更改后的列顺序保存在localStorage就像它在答案中所描述的那样。 首先使用Column Chooser按钮尝试旧的演示 。

要保存更改的列顺序,您需要注册jqGrid在拖放列标题后应调用的回调。 可以使用定义为对象(而不是true )的sortable选项的update回调。 所以代码就像

 var $grid = $("#list"); // your grid ... $grid.jqGrid({ ... // all other option of jqGrid sortable: { update: function (perm) { saveColumnState.call($grid, perm); // save permutation } } }); 

函数saveColumnState在上面引用的答案中描述,也包含在上面引用的演示中 。