SMART datagrid v1.4 > Examples
ListCellEditor.listItemStyles에 드랍다운 리스트박스에 표시되는 항목들의 스타일들을 지정할 수 있다.
var columns = [{
"name": "Country",
"editor": {
"type": "list",
"listItemStyles": {
"selectedBackground": "#008",
"selectedColor": "#ff0",
"hoveredColor": "#f00",
"hoveredBackground": "#10000000"
}
}
},
...
ListCellEditor.itemsCallback을 이용하면 리스트 항목들을 실행 시간에 동적으로 구성할 수 있다. 아래 예제에서는 "수출입" 컬럼의 값에 따라 "제품코드" 컬럼의 리스트 편집기 항목들을 다르게 구성하고 있다.
var columns = [{
name: "CommCode",
editor: {
type: "list",
itemsCallback: function (index) {
var items = { values: [], labels: [] }
if (index.getRow().getValue('flow') == 'Import') {
items.values.push('500001', '500002', '500003', '500004', '500005');
items.labels.push('import 1', 'import 2', 'import 3', 'import 4', 'import 5');
} else {
items.values.push('900001', '900002', '900003', '900004', '900005');
items.labels.push('export 1', 'export 2', 'export 3', 'export 4', 'export 5');
}
return items;
}
}
},
...
LookupTree를 이용해서 리스트에디터의 목록을 구성할 수도 있다. 또, LookupTree는 리스트 목록을 제공하는 것 외에 데이터셀에 실제 값 대신 룩업된 값을 표시할 수 있도록 한다. 정형화된 Keys/Value 셋을 구성할 수 있는 상황이라면 LookupTable이 권장된다.