Javascript jqGrid列顺序应该是用户特定的
在我的项目中,我有一个场景,用户可以拖放jqGrid列。当同一个用户再次访问该站点时,我们必须显示jqGrid列顺序,即他在上次访问中修改的顺序。因此,jqGrid列的顺序应该是用户特定的。谁能帮我实现这个目标?(我需要jQgrid列的返回类型和格式)。您需要的行为的实现不是很简单。我建议您将更改后的列顺序保存在Javascript jqGrid列顺序应该是用户特定的,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,在我的项目中,我有一个场景,用户可以拖放jqGrid列。当同一个用户再次访问该站点时,我们必须显示jqGrid列顺序,即他在上次访问中修改的顺序。因此,jqGrid列的顺序应该是用户特定的。谁能帮我实现这个目标?(我需要jQgrid列的返回类型和格式)。您需要的行为的实现不是很简单。我建议您将更改后的列顺序保存在localStorage中,如和中所述。首先尝试使用列选择器按钮 要保存已更改的列顺序,您需要注册jqGrid在拖放列标题后应该调用的回调。可以使用定义为对象的sortable选项的up
localStorage
中,如和中所述。首先尝试使用列选择器按钮
要保存已更改的列顺序,您需要注册jqGrid在拖放列标题后应该调用的回调。可以使用定义为对象的sortable
选项的update
回调(而不是true
)。所以代码是这样的
var $grid = $("#list"); // your grid
...
$grid.jqGrid({
... // all other option of jqGrid
sortable: {
update: function (perm) {
saveColumnState.call($grid, perm); // save permutation
}
}
});
上述参考答案中描述了功能
saveColumnState
,上述参考答案中也包含了该功能。要存储某些特定于用户的信息,您可以使用Cookie、sessionStorage或LocalStorages。如果可能,您可以使用示例代码进行解释。我是jQGrid的新手,你能告诉我jQGrid列的返回类型和jQGrid列的返回格式吗?嗨,Oleg,谢谢你的评论。我想在数据库(sql server)中保存列顺序。你能告诉我怎么做吗?为此,我需要jqgrid列的返回类型(格式)。你能帮我一下吗?你需要改变[演示]()的saveColumnState
方法的实现。当前实现的最后一行调用saveObjectInLocalStorage(myColumnStateName(this),ColumnState)代码>其中列状态
是需要保存的对象。您可以改为向服务器发出Ajax请求。同样地,restoreColumnState
需要使用Ajax调用从服务器获取状态,而不是getObjectFromLocalStorage
。感谢Oleg的输入。我不熟悉jquery、jqgrid和ajax。您能详细解释一下我应该执行这项任务的步骤吗(在jqgrid中保存列顺序)?我们要保存在数据库中的“columState”对象的格式是什么?请帮我做这个。先进的thanks@venkat:不客气!您应该使用服务器处理程序调用数据:columnsState
和url
。您在服务器端所做的工作与您在服务器端代码中使用的不同。我现在在去度假的路上,所以不能给你更多的信息。