如何扩展数据表排序功能以支持多行级别

时间:2012-09-04 13:07:08

标签: jquery datatables

我有下一个表结构:

Table structure image

如您所见,此表中有一些级别(3)。我希望按级别对此表进行排序:

  1. 排序第一级(PC和手机)
  2. 内部第一级排序第二级(分辨率)
  3. 内部关卡级别排序第三级(操作系统名称)等。
  4. 我从三个对象(对象['0'] ['数据'],对象['1'] ['数据']和对象['2'] ['数据'])形成此表。 / p>

    之前我使用过我自己的js库,但现在需要切换到数据表。

    旧代码就像这样

    //Sort Level 1
        table_data.sort( sorter )
    
        // Sort Level 2
        for (var i in table_data) {
    
            table_data[i].data.sort( sorter );
    
            // Sort Level 3
            for (var j in table_data[i].data) {
                table_data[i].data[j].data.sort( sorter );
            }
        }
    

    如何使用datatables插件实现这一点?

2 个答案:

答案 0 :(得分:1)

您可以使用DataTables - Row Grouping

进行分组

使用fnSort()对组列进行排序, 请参阅JSFiddle上的example

答案 1 :(得分:0)

使用datable对这些数据进行排序是不正确的,因为它实际上不是一个表 - 这是一个装饰成表的树,所以最好使用你自己的js库来排序树(或者使用angularjs很容易制作)。但是如果你仍然想使用数据表 - 需要对包含当前数据表数据的aoData对象进行排序。