본문 바로가기
Javascript

SlickGrid 세로 셀 병합(?)하기

by Dokon Jang 2022. 5. 20.
반응형

SlickGrid는 무료이고, 대용량을처리하기에 매우 좋습니다.

하지만 상용 Grid에 비해서는 기능이 좀 떨어지기도 하죠.

SlickGrid에서 세로 셀을 병합이라고 제목을 쓰기는 했지만,

사실 동일 값에 대해서 두번째 Row부터 값을 표시하지 않도록 처리하는 방법입니다.

 

하나의 세로 셀만 병합 코드
function verCellMergedFormatter(row, cell, value, columnDef, dataContext) {
	if(row == 0) return value;
	
	var items = dataView.getFilteredItems();
	var preValue = items[row - 1][columnDef.field];
	
	if(value == preValue) return "";
	else                  return value;
}

 

앞의 셀들의 값이 동일 할 경우 세로 셀 병합 코드
function verCellMergedFormatter(row, cell, value, columnDef, dataContext) {
	if(row == 0) return value;
	
	var items = dataView.getFilteredItems();
	
	var isValuesEquals = true;
	var columns = grid.getColumns();
	for(var i = 0 ; i <= cell ; i++){
		var fielddName = columns[i].field;
		
		if(items[row][fielddName] != items[row - 1][fielddName]){
			isValuesEquals = false;
			break;
		}
	}

	if(isValuesEquals) return "";
	else               return value;
}
반응형

댓글