如何在数据透视表中按字母数字顺序对列数据进行排序?

时间:2017-01-07 14:25:18

标签: jqgrid free-jqgrid jqpivot

以下链接会生成一个pivot jqgrid,它将加载有关汽车的一些销售信息enter link description here

它有大约11个汽车销售对象。它有一个我给出的自定义排序顺序以及自定义排序顺序的目的,当数据加载到网格时它以自定义顺序显示数据并且它可以工作,但问题是当用户点击列名称'model'时它应该是排序汽车名称按字母顺序按名称排序,但使用我的自定义订单排序。但是当用户点击标题时,它不应该使用自定义顺序对列进行排序,它应该使用按字母顺序排序的默认排序顺序。

如果用户点击列,我如何保留我给出的自定义顺序,同时让列按字母顺序排序?

其次, 不同浏览器显示不同方式。当我使用大型数据集加载网格时,它在以下两个操作中表现不同

在Chrome中: 1.当用户从底部的导航栏中选择“全部”(显示所有记录)时,我给出的自定义顺序作为网格加载中断的排序顺序,一些定位在不同的位置

但在IE浏览器中,这不会发生

  1. 在IE和Chrome中,在用户点击时加载数据后,列名称Model列数据将使用自定义排序顺序排序,而不是按字母顺序排序。
  2. 如何解决这些问题

1 个答案:

答案 0 :(得分:1)

如果要按字母顺序对列进行排序,则应该从第二个(sorttype)列中删除model。见https://jsfiddle.net/OlegKi/dk7uth40/3/

顺便说一句,免费jqGrid支持选项

threeStateSort: true

实现三态排序。您可以在演示https://jsfiddle.net/OlegKi/dk7uth40/4/上看到结果。用户最初以原始顺序查看数据。首先单击model列,数据将按字母顺序(按升序排序)排序。通过第二次单击,数据将按降序字母顺序排序。第三次单击列标题将返回初始排序顺序中的顺序。