SMART datagrid v1.4 > Examples

Back  Forward

Cell Merging  Example

같은 컬럼에 속한 하나 이상의 이웃 셀들을 묶어서 표시할 수 있다. 셀들을 묶는 기준은 ValueColumn.mergeExpression 속성에 지정한 수식의 결과 값이다. 즉, 행별로 수식으로 계산해서 이전 셀의 값과 같으면 두 셀은 묶여져서 표시된다. SMART datagrid 수식으로 부족한 경우, mergeCallback 속성에 javascript 콜백 함수를 지정할 수도 있다. 

Code -1
    var col = grid.columnByName('Country');
    col.setMergeExpression('value');
    // 혹은, javascript 콜백
    col.setMergeCallback(function (item, column) {
        // report로 출력할 그리드라면 반드시 전역 grid 변수 대신 아래처럼 지역적으로 grid를 찾아야 한다.
        return column.grid().getValueAt(item, column + grdMain.getValueAt(item, 'flow');
    });
    
    // '제품명' 컬럼은 무조건 5행씩 병합한다.
    col.setMergeExpression('int(row / 5)');
Grid - 1
rows

"국가_2" 컬럼에서는 셀에 국가명의 첫글자만 표시되고 있는데, ValueColumn.mergeValueCallback이나 ValueColumn.mergeValueExpression으로 병합된 셀에 표시될 값을 다르게 지정할 수 있다. 두 속성 모두 지정되지 않으면 병합에 포함된 첫 번째 행의 값이 표시된다. 

Code -2
    var col = grid.columnByName('Country2');
    col.setMergeCallback(function (item, column) {
        return grdMain.getValueAt(item, column).substr(0, 1);         		    
    });
    col.setMergeValueCallback(function (item, column, value) {
        return value.substr(0, 1);            		    
    });

소스보기 JSP 

See Also
ValueColumn.mergeExpression
ValueColumn.mergeCallback
ValueColumn.mergeValueExpression
ValueColumn.mergeValueCallback
DataLudi 수식 개요
Examples
Cell Merging 2