jqgrid cell 값이 같은 경우 병합 처리 (지정한 복수의 건 처리)
var grid = $("#grid");
var addColName=["buy_dt","claim_no","car_no"];
$.each(addColName, function(index, colName) {
console.log("인덱스: " + index + ", 값: " + colName);
var prevCellVal = { cellId: undefined, value: undefined };
var cellIndex = $("#grid").getGridParam('colModel').findIndex(function(col) { return col.name === colName; });
console.log('cellIndex:'+cellIndex);
var i, rowId, cellValue, rowspan;
for (i = 0; i < ids.length; i++) {
rowId = ids[i];
cellValue = grid.jqGrid('getCell', rowId, colName);
console.log('ids:'+i+"--"+cellValue); // 이전 값과 현재 셀 값이 같으면 병합합니다.
if (cellValue === prevCellVal.val) {
rowspan = $("#" + prevCellVal.id).children('td').eq(cellIndex).attr("rowspan") || 1;
rowspan = Number(rowspan)+1;
$("#" + prevCellVal.id).children('td').eq(cellIndex).attr("rowspan", rowspan); // 이전 셀의 rowspan을 증가
$("#" + rowId).children('td').eq(cellIndex).hide(); // 현재 셀을 삭제 hide가
} else {
prevCellVal = { val: cellValue, id: rowId }; // 새로운 셀 값이면 시작 id를 업데이트
}
}
});
댓글
댓글 쓰기