easyui显示数据的时候,数据是涉及到一个大分类下有多条数据的显示方式,需要进行数据合并
loadFilter: function (data) {
var currentDataRows = [];
for (var i = 0; i < data.rows.length; i++) {
var rowItem = data.rows[i];
var bStyle= "";
if (rowItem.BStyle== 0) {
bStyle= "xx";
} else if (rowItem.BStyle== 3) {
bStyle= "xx2";
}
else if (rowItem.BStyle== 4) {
bStyle= "xx3";
}
else if (rowItem.BStyle== 9) {
bStyle= "xx4";
}
else {
bStyle= "xx5";
}
for (var j = 0; j < rowItem.BKDetailList.length; j++) {
var cellItem = rowItem.BKDetailList[j];
var tempRow = {
Id: rowItem.Id,
OpenTime: rowItem.OpenTime,
ModifiedOn: rowItem.ModifiedOn,
CreatedOn: rowItem.CreatedOn,
CId: cellItem.Id,
Summary: cellItem.Summary,
Name: cellItem.Name,
PaymentsReasonName: cellItem.PayReasonName,
Amount: cellItem.Amount,
BkStyle: rowItem.BStyle,
BStyle: bStyle+ rowItem.BKCode,
IsEdit: rowItem.IsEdit,
}
if (j == 0 && rowItem.BKDetailList.length > 1) {
tempRow.HB = rowItem.BKDetailList.length;
tempRow.BStyle= bStyle+ rowItem.BKCode;
}
currentDataRows.push(tempRow);
}
}
var obj = { 'total': data.total, 'rows': currentDataRows };
return obj;
}
执行合并操作
$('#dataGird').datagrid('options').view.onAfterRender = function (target) {
var rows = $('#dataGird').datagrid("getRows");
rows.forEach(function (r,i) {
if (r.HB) {
$('#dataGird').datagrid("mergeCells", {
index: i,
field: "ck",
rowspan: r.HB,
});
$('#dataGird').datagrid("mergeCells", {
index: i,
field: "OpenTime",
rowspan: r.HB,
});
$('#dataGird').datagrid("mergeCells", {
index: i,
field: "BKCode",
rowspan: r.HB,
});
$('#dataGird').datagrid("mergeCells", {
index: i,
field: "Btns",
rowspan: r.HB,
});
$("#dataGird").datagrid("mergeCells", {
index: i,
field: "BStyle",
rowspan:r.HB,
});
}
});
结果显示