为每个行分组jQuery DataTables插入颜色

时间:2015-10-15 07:39:22

标签: jquery datatables

我使用API​​方法执行行分组

我的代码是这样的:http://jsfiddle.net/oscar11/5jccbzdy/2/

// DataTable
    var table = $('#example').DataTable({
        "order": [[0, 'asc']],
        "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;

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

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

我希望每行分组的插入颜色为&#34; css&#34;列(您可以在http://jsfiddle.net/oscar11/5jccbzdy/2/中看到。第5列)。因此,通过css列为行分组赋予颜色。谢谢。

2 个答案:

答案 0 :(得分:1)

在DataTable函数

中插入以下代码
"createdRow": function ( row, data, index ) {
                $('td', row).eq(4).addClass('highlight');
            }

http://jsfiddle.net/5jccbzdy/6/

答案 1 :(得分:0)

如果您希望所有列都着色,则此过程在drawcallback函数中完成。代码的更正版本如下。 http://jsfiddle.net/5jccbzdy/8/