Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqGrid列顺序应该是用户特定的_Javascript_Jquery_Jqgrid - Fatal编程技术网

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

Javascript jqGrid列顺序应该是用户特定的,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,在我的项目中,我有一个场景,用户可以拖放jqGrid列。当同一个用户再次访问该站点时,我们必须显示jqGrid列顺序,即他在上次访问中修改的顺序。因此,jqGrid列的顺序应该是用户特定的。谁能帮我实现这个目标?(我需要jQgrid列的返回类型和格式)。您需要的行为的实现不是很简单。我建议您将更改后的列顺序保存在localStorage中,如和中所述。首先尝试使用列选择器按钮 要保存已更改的列顺序,您需要注册jqGrid在拖放列标题后应该调用的回调。可以使用定义为对象的sortable选项的up

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

您需要的行为的实现不是很简单。我建议您将更改后的列顺序保存在
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
。您在服务器端所做的工作与您在服务器端代码中使用的不同。我现在在去度假的路上,所以不能给你更多的信息。