簡體   English   中英

在數據表中用字母和名稱將單個列分組?

[英]Group a single column with letter and name in datatable?

我們如何使用rowGrouping插件和jQuery DataTable對單個列進行字母和名稱分組?

例如:對於值:

aaa=>1,aaa=>2,aaa=>3,aab=>1,aab=>2,aab=>3,aac=>1,aac=>2,...

應將( sGroupBy )分組為字母AB ,然后命名為aaaaabaac

插件rowGrouping不再開發,我不建議使用它。 使用替代方式執行行分組,如行分組示例所示。

例如,當使用包含名稱的列進行排序時,使用下面的代碼按首字母對行進行分組。

var table = $('#example').DataTable({
    "drawCallback": function (settings){
        var api = this.api();

        // Zero-based index of the column containing names
        var col_name = 0;

        // If ordered by column containing names
        if (api.order()[0][0] === col_name) {
            var rows = api.rows({ page: 'current' }).nodes();
            var group_last = null;

            api.column(col_name, { page: 'current' }).data().each(function (name, index){
                var group = name.substr(0, 1);

                if (group_last !== group) {
                    $(rows).eq(index).before(
                        '<tr class="group"><td colspan="6">' + group + '</td></tr>'
                    );

                    group_last = group;
                }
            });
        }
    }
});

DEMO

有關代碼和演示,請參見此jsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM