我正在使用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
答案 0 :(得分:1)
通过将data: myData, datatype: "local"
替换为datastr: myData, datatype: "jsonstring"
,您可以解决在初始加载本地数据时对第一页进行排序的问题。另一方面,您使用本地分页数据。要显示下一页数据,jqGrid必须对数据进行排序才能获得下一页。
因此,我认为您只需向网格添加sortname: "OrderID"
选项即可解决您的问题,并显示按CustomerID
分组并按{{1}排序的数据另外。你应该留在原来的OrderID
。我建议您在data: myData, datatype: "local"
中添加sorttype: "integer"
,以便在OrderID
之后10
,而不是在排序期间9
和1
之间。