使用本地数据搞乱了 jqGrid 分组中的数据排序
Using data local messed up the data sorting in jqGrid grouping
我正在对本地数据使用 jqGrid 分组。
我的数据已经排序,所以我只想按照我的数据数组的顺序显示它。但是,我注意到在我使用分组时 jqGrid 实际上改变了我的数据顺序。
我可以在这个 plunkr 中重现这个问题。数据的顺序应该是 1 2 3 4 5 6
但它显示的是 1 2 4 5 6 3
我目前使用的是 jqGrid 4.6.0。目前,我认为的解决方法是添加一个名为 "rankOrder" 的隐藏列,然后在 loadComplete
上,根据 rankOrder 对该列进行排序。我的应用程序中有多个 table,所以我想避免这样做(向每个 table 添加隐藏列)。有人知道更好的解决方法吗?
更新:
我注意到 free jqGrid 4.8.0 也会发生这种情况, 这是用户 Oleg 创建的工作演示,我将其分叉以重现我的问题 here
您可以通过将 data: myData, datatype: "local"
替换为 datastr: myData, datatype: "jsonstring"
来解决 初始加载本地数据时第一页排序的问题 。另一方面,您使用 本地分页 数据。要显示下一页数据,jqGrid 必须对数据进行排序以获得下一页。
因此我想您只需向网格添加 sortname: "OrderID"
选项即可解决您的问题并显示按 CustomerID
分组并排序 的数据另外 OrderID
。你应该保持原来的 data: myData, datatype: "local"
。我建议您在 OrderID
中添加 sorttype: "integer"
,以便在 9
之后添加 10
,而不是在排序期间在 1
和 2
之间。
我正在对本地数据使用 jqGrid 分组。
我的数据已经排序,所以我只想按照我的数据数组的顺序显示它。但是,我注意到在我使用分组时 jqGrid 实际上改变了我的数据顺序。
我可以在这个 plunkr 中重现这个问题。数据的顺序应该是 1 2 3 4 5 6
但它显示的是 1 2 4 5 6 3
我目前使用的是 jqGrid 4.6.0。目前,我认为的解决方法是添加一个名为 "rankOrder" 的隐藏列,然后在 loadComplete
上,根据 rankOrder 对该列进行排序。我的应用程序中有多个 table,所以我想避免这样做(向每个 table 添加隐藏列)。有人知道更好的解决方法吗?
更新: 我注意到 free jqGrid 4.8.0 也会发生这种情况, 这是用户 Oleg 创建的工作演示,我将其分叉以重现我的问题 here
您可以通过将 data: myData, datatype: "local"
替换为 datastr: myData, datatype: "jsonstring"
来解决 初始加载本地数据时第一页排序的问题 。另一方面,您使用 本地分页 数据。要显示下一页数据,jqGrid 必须对数据进行排序以获得下一页。
因此我想您只需向网格添加 sortname: "OrderID"
选项即可解决您的问题并显示按 CustomerID
分组并排序 的数据另外 OrderID
。你应该保持原来的 data: myData, datatype: "local"
。我建议您在 OrderID
中添加 sorttype: "integer"
,以便在 9
之后添加 10
,而不是在排序期间在 1
和 2
之间。