免费jqGrid - 排序顺序问题

时间:2017-01-03 20:31:50

标签: jquery jqgrid free-jqgrid

直到今天我才使用4.10。我现在升级到4.13(最新),所以做了一些回归。

我注意到的第一件事就是多排序。

在4.10中,多重排序顺序是按列的顺序(从左到右)。

在4.13.5(最新版)中,排序顺序是先选择哪一列。

正确的行为(IMO)应按列的顺序排列,因此如果对列重新排序,则最左边的列将接管并成为应用排序的第一个元素。

当前的新行为是排序基于“首先选择,始终首先”令人困惑,因为用户无法判断应用多重排序的顺序。

说明:

查看下面的2个表,您可以看到它们按两列排序,“总运行”和'开始时间':

enter image description here

enter image description here

两个表都保存完全相同的数据,以完全相同的方式排序,但仍然显示不同的排序结果。

结果不同的原因是,排序的索引是按用户点击排序的顺序构建的,而不是按列的顺序构建的(在索引中最左边的接管) )。这不符合标准,因为用户无法通过这种多列搜索来确定哪一列是两列中的主列。在4.10中,订单是固定的,因此如果用户想要更改订单,则必须将列移动到右侧(或左侧)。至少这会给出一些指示哪个列首先占据的指示。

我没有说使用列来订购多搜索是最佳做法,但至少它给出了一些指示。在目前的实施中,没有任何迹象表明。加载预定义过滤时,这尤其令人困惑。

谢谢,

塔尔。

1 个答案:

答案 0 :(得分:1)

首先,免费jqGrid的最新版本是4.13.6。它发布于10天前(2016-12-24)。版本4.13.5于2016年11月3日发布。

多次排序(multiSort: true)时的排序顺序对最终结果很重要。 用户应该能够指定具有他/她想要的结果的顺序。旧的行为不允许用户自由。因此,行为是固定的。如果您在sortname中指定订单,则应按照列的顺序小心。字符串

p.sortname + " " + p.sortorder

定义将用于排序的顺序。如果你真的需要一些固定的排序,那么你可以尝试在p.sortname回调中“{normilize”onSortCol