美学原理DataTables实现rowspan思路

直白扣例子吧

<table id="example" class="display table table-bordered" cellspacing="0" width="600" style="margin-top: 50px">
    <thead>
    <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Age</th>
    </tr>
    </thead>
</table>

 var dataSet = [
        [ "Tiger Nixon",  "Edinburgh",20,1  ],
        [ "Garrett Winters", "Tokyo",22,2],
        [ "Ashton Cox", "Tokyo",21,0 ]
            ];

    $('#example').DataTable({
        data: dataSet,
        paging: true,
        searching:false, //搜索栏
        lengthChange : false, //是否允许改变每页显示的数据条数
        ordering:false,
        columnDefs: [{
            targets: 1,
            createdCell: function (td, cellData, rowData, row, col) {
                var rowspan = rowData[3];
                if (rowspan > 1) {
                    $(td).attr('rowspan', rowspan)
                }
                if (rowspan == 0) {
                    $(td).remove();
                }
            }
        }]
    });

美学原理 1

说明一下:要落实rowspan/colspan这样的特殊效果需要因此到createdCell回调函数,此函数可配备当columns配置中,亦可配置在columnDefs中,此例采用columnDefs配置实现。具体原理是,在创造单元格cell的是否操纵什么渲染,后台需要定义好rowspan的价,这个得后台想艺术为闹这价值。

 

后台受出rowspan的思路:

将急需分组的性质构造Map<key,count>
map,遍历list得到map,再遍历list设置rowspan=map.get(key),get过之key设置0再get,
OK,  搞定

 

切切实实贯彻:

http://www.cnblogs.com/hdwang/p/7169255.html