/*
*easyui 扩展方法
*合并列相同的单元格,以第一列分组
*tableId 表格id
*colList 要合并的列,以,分隔 例如 "modelId,modelIsp,modelProvinceid"
*/
var mergeCellsByField = function(tableID, colList) {
var cols = colList.split(",");
var table = $('#' + tableID);
var rows = table.datagrid("getRows").length;
var tempName = table.datagrid("getRows")[0][cols[0]];
var row = 1;
var rowNextCol = 1;
var tempNameNextCol = '';
debugger;
for (var i = 0; i < rows; i++) {
if (i == rows - 1) {
tempName = "";
} else {
tempName = table.datagrid("getRows")[i + 1][cols[0]]
}
var name = table.datagrid("getRows")[i][cols[0]];
if (name == tempName) {
row = row + 1;
} else {
table.datagrid('mergeCells', {
index: i - row + 1,
field: cols[0],
rowspan: row,
colspan: null
});
if (row != 1) {
for(var j = 1 ; j < cols.length ; j++){
for (var k = i - row + 1; k < i + 1; k++) {
if (k == i) {
tempNameNextCol = "";
} else {
tempNameNextCol = table.datagrid("getRows")[k + 1][cols[j]]
}
var nameNextCol = table.datagrid("getRows")[k][cols[j]];
if (nameNextCol == tempNameNextCol) {
rowNextCol = rowNextCol + 1;
} else {
table.datagrid('mergeCells', {
index: k - rowNextCol + 1,
field: cols[j],
rowspan: rowNextCol,
colspan: null
});
rowNextCol = 1;
}
}
}
}
row = 1;
}
}
}
//调用方式
$('#table').datagrid({
onLoadSuccess: function (data) {
if (data.rows.length > 0) {
mergeCellsByField("table","modelId,modelIsp,modelProvinceid");
}
}
});
easyui 扩展方法 合并列相同的单元格,以第一列分组
最新推荐文章于 2022-02-09 11:52:28 发布