SMART datagrid v1.4 > Examples
데이터셀 편집기는 DataColumn.editor 속성으로 지정하고 해당 컬럼에 포함되는 모든 셀에 기본 적용된다. 하지만 때로 같은 컬럼에 속한 데이터셀도 행 별로 다른 편집기를 제공할 필요가 있는데 GridBase.registerCellEditors와 DataColumn.editorCallback를 사용하면 된다.
위 예제에서는 "수출입" 컬럼에 행 별 편집기를 지정하고 있다. 먼저 그리드에 편집기 설정들을 등록하고,
grid.registerCellEditors([{
id: "text01"
}, {
id: "list01",
type: "list",
values: ["import", "export"]
}, {
id: "list02",
type: "list",
values: ["import", "export"],
labels: ["수입", "수출"]
}]);
컬럼 설정 시 editorCallback에 콜백 함수를 지정한다.
var columns = [{
name: "Flow",
editorCallback: function (index) {
var v = grid.getValueAt(index.rowIndex, 'trade');
if (v > 20000) {
return 'list02';
} else if (v > 10000) {
return 'list01';
} else {
return 'text01';
}
}
},
...