原文地址:https://github.com/ssy341/datatables-cn/issues/211#issuecomment-372928301
"drawCallback": function (settings) {//
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
// console.log('idx = ' + rows[0].cells.length);
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", "middle");
} else {
ltd.attr("rowspan", parseInt(ltd.attr("rowspan")) + 1);
td.remove();
}
});
idx = 1//稍微修改了一下。根据项目需要完成第一列和第二列前五行的单元格合并
last = null;
tr = null;
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", "middle");
idx = 0;
} else {
ltd.attr("rowspan", parseInt(ltd.attr("rowspan")) + 1);
td.remove();
if (parseInt(ltd.attr("rowspan")) === 5) {
idx = 1;//第二个五行
}
}
});
},