使用数据本地搞砸了jqGrid分组中的数据排序

时间:2015-04-12 16:03:26

标签: jquery jqgrid

我正在使用jqGrid分组和本地数据。 我的数据已经排序,所以我只想根据数据数组的顺序显示它。但是,我注意到当我使用分组时,jqGrid实际上改变了我的数据顺序。 我可以在此plunkr中重现此问题。数据的顺序应为1 2 3 4 5 6,而是显示1 2 4 5 6 3

我目前正在使用jqGrid 4.6.0。目前我能想到的解决方法是添加一个名为" rankOrder"的隐藏列。然后在loadComplete上,根据rankOrder对列进行排序。我的应用程序中有多个表,所以我想避免这样做(向每个表添加隐藏列)。有人知道更好的解决方法吗?

更新: 我注意到这也发生在免费jqGrid 4.8.0,这里是用户Oleg创建的工作演示,我分叉它来重现我的问题here

1 个答案:

答案 0 :(得分:1)

通过将data: myData, datatype: "local"替换为datastr: myData, datatype: "jsonstring",您可以解决在初始加载本地数据时对第一页进行排序的问题。另一方面,您使用本地分页数据。要显示下一页数据,jqGrid必须对数据进行排序才能获得下一页。

因此,我认为您只需向网格添加sortname: "OrderID"选项即可解决您的问题,并显示按CustomerID 分组并按{{1}排序的数据另外。你应该留在原来的OrderID。我建议您在data: myData, datatype: "local"中添加sorttype: "integer",以便在OrderID之后10,而不是在排序期间91之间。