Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Jquery 如何获得JQGrid列的显示顺序?_Jquery_Jqgrid - Fatal编程技术网

Jquery 如何获得JQGrid列的显示顺序?

Jquery 如何获得JQGrid列的显示顺序?,jquery,jqgrid,Jquery,Jqgrid,我的页面中有一个jqGrid。我给用户提供了一个隐藏/显示列的选项(使用columnchooser),用户还可以使用相同的columnchooser选项重新排列列。一旦用户完成配置,他就可以将网格原样导出到excel 我什么都做了。但我面临的唯一问题是列顺序。我的网格列模型的顺序将与网格列顺序相同,还是我必须找出顺序 如果我必须找到列的顺序,我们怎么做 解决您的问题的关键是 jqGrid的remapColumns参数的使用,该参数保存关于列的最后排列的信息 使用jqGrid方法将排列应用于网格

我的页面中有一个jqGrid。我给用户提供了一个隐藏/显示列的选项(使用columnchooser),用户还可以使用相同的columnchooser选项重新排列列。一旦用户完成配置,他就可以将网格原样导出到excel

我什么都做了。但我面临的唯一问题是列顺序。我的网格列模型的顺序将与网格列顺序相同,还是我必须找出顺序


如果我必须找到列的顺序,我们怎么做

解决您的问题的关键是

  • jqGrid的
    remapColumns
    参数的使用,该参数保存关于列的最后排列的信息
  • 使用jqGrid方法将排列应用于网格
  • 重写方法回调的默认实现
请不要将该方法与jqGrid的内部
remapColumns
参数(同名!!!)混淆,后者表示列索引上的数组


我建议您检查或的代码,并阅读答案“更新的X”部分中提到的关闭问题的其他答案。演示演示了如何使用
remapColumns
方法和参数,以及如何使用
columnChooser
done
回调来保存和稍后恢复列的顺序。

解决问题的关键点是

  • jqGrid的
    remapColumns
    参数的使用,该参数保存关于列的最后排列的信息
  • 使用jqGrid方法将排列应用于网格
  • 重写方法回调的默认实现
请不要将该方法与jqGrid的内部
remapColumns
参数(同名!!!)混淆,后者表示列索引上的数组


我建议您检查或的代码,并阅读答案“更新的X”部分中提到的关闭问题的其他答案。演示演示了如何使用
remapColumns
方法和参数,以及如何使用
columnChooser
done
回调来保存和稍后恢复列的顺序。

实际上网格的ColModel保留了列的顺序。所以在done回调方法中,我编写了必要的代码来持久化数据。我使用了jStorage插件来保存首选项。@迪内什:对不起,从你上次的评论中,我不知道问题现在是否已经解决了?您是否可以将信息保存在
本地存储
中,但仍然无法还原它?在这种情况下,您可以查看我在
loadComplete
中引用的演示,并查看
remapColumns
方法的调用。或者,您可以在创建网格之前,对与先前保存的排列数组相对应的
colNames
colModel
项重新排序。这将提高性能,但您将无法使用
remapColumns
方法,必须手动实现所有功能。问题在于excel导出功能。在将数据发送到服务器进行excel导出时,我应该从网格中发送列的顺序。这就是我的应用程序最初失败的地方。但在使用了done事件处理程序和colmodel之后,我找到了解决方案。@Dinesh:如果您只需要导出到excel的信息。您只需枚举当前的
colModel
数组,并发送所有非隐藏列的
name
(或
index
)属性值。这些信息足以在服务器上创建到excel的导出。实际上,网格的ColModel保留了列的顺序。所以在done回调方法中,我编写了必要的代码来持久化数据。我使用了jStorage插件来保存首选项。@迪内什:对不起,从你上次的评论中,我不知道问题现在是否已经解决了?您是否可以将信息保存在
本地存储
中,但仍然无法还原它?在这种情况下,您可以查看我在
loadComplete
中引用的演示,并查看
remapColumns
方法的调用。或者,您可以在创建网格之前,对与先前保存的排列数组相对应的
colNames
colModel
项重新排序。这将提高性能,但您将无法使用
remapColumns
方法,必须手动实现所有功能。问题在于excel导出功能。在将数据发送到服务器进行excel导出时,我应该从网格中发送列的顺序。这就是我的应用程序最初失败的地方。但在使用了done事件处理程序和colmodel之后,我找到了解决方案。@Dinesh:如果您只需要导出到excel的信息。您只需枚举当前的
colModel
数组,并发送所有非隐藏列的
name
(或
index
)属性值。这些信息足以在服务器上创建导出到excel。