在drawCallback中加上以下代码即可,这里第一列如果有相同值就合并单元格,后端传回的数据需要先排序正确。
"drawCallback": function (settings) {
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
var idx = 0; // 合并第一列
var last = null;
var tr = null;
var ltd = null;
//合并单元格
api.column(idx, { page: 'current' }).data().each(function (group, i) {
tr = $(rows[i]);
var td = $("td:eq(" + idx + ")", tr);
if (last !== group) {
td.attr("rowspan", 1);
td.text(group);
ltd = td;
last = group;
td.css("vertical-align", "top");
} else {
ltd.attr("rowspan", parseInt(ltd.attr("rowspan")) + 1);
td.remove();
}
});
},