【发布时间】:2015-02-27 06:29:50
【问题描述】:
这是我第一次尝试对数据表进行多列排序,我只需要一些帮助来确定我指定的内容是否会按照我想要的方式工作。
我有下表。
我想要的是数据表:
- 按第三列(Conn 状态)降序排序,然后进行二次排序。如果第三列是可排序的,则不需要应用为后续列指定的排序规则。
- 如果第三列具有所有相同的值,因此无法应用排序,我希望它按第 5 列 desc (mdi) 排序,然后进行二次排序。如果第五列是可排序的,则不需要应用为后续列指定的排序规则。
- 如果第五列具有所有相同的值,因此无法应用排序,我希望它按第 7 列 (DSM) desc 排序,然后进行第二次排序。如果第七列是可排序的,则不需要应用为后续列指定的排序规则。
- 如果第七列具有所有相同的值,因此无法应用排序,我希望它按第 1 列 (SiteId) asc 排序。
这是我迄今为止所尝试的,但如果可能的话,我希望得到一些帮助。另外如何指定排序的 desc 部分(目前我只能弄清楚 asc。
$("#storeHealthTbl").dataTable ({
"bSort": true,
"bLengthChange": false,
"bPaginate": false,
"aoColumnDefs": [ {
"aTargets": [ 2 ],
"sType": "string",
"aDataSort": [ 2, 4, 6 ] /* Want 2,4,6 to be desc but don't know how*/
}, {
"aTargets": [ 4 ],
"sType": "string",
"aDataSort": [ 4, 6 ] /* Want 4,6 to be desc but don't know how*/
}, {
"aTargets": [ 6 ],
"sType": "string",
"aDataSort": [ 6 ] /* Want 6 to be desc but don't know how*/
}, {
"aTargets": [ 0 ],
"sType": "numeric",
"aDataSort": [ 0 ] /* This one is asc */
}, ]
});
我还应该提到,其中包含图像的列在某些时候会有一个字母“X”,因此这就是我期望的排序方式。如果没有“X”并且它们都是绿色图像(即不是字母字符”,那么我想跳到我指定的下一个类别)。
希望这是有道理的。
我正在使用数据表 1.9.4。
谢谢
【问题讨论】:
-
要明确一点,如果第 4 列有不同的值并且可以排序,那么排序应该在那里结束还是第 7 列也应该排序?
-
你使用的是什么版本的 DataTables,相信我,这很重要。
-
我会在几个小时内得到我的版本的答案,也会澄清你的过度问题。坐等到那时
-
我已经用数据表的版本更新了我的帖子,并且我还稍微更改了我的代码 sn-p 以正确反映我正在尝试做的事情。如果第 5 列(MDI)有不同的值并且可以排序,那么排序规则应该是 [4 desc, 6 desc] 并且排序可以在那里结束。这也适用于所有其他规则。一旦满足其中一个规则,排序就可以停止(但仍应应用二次排序)。我已更新发布以尝试解释这一点。
-
你能解释一下你所说的“后面是二次排序”是什么意思吗?或者更确切地说,您能否列出每个规则应应用的二级排序?