SMART datagrid v1.4 > Examples
TreeRow.hasChildren 속성과 TreeView.onExpanding 이벤트를 이용하면, 실행 시간 사용자가 expander를 클릭해서 행을 펼치는 순간에 자식 행들을 로드하는 방식으로 트리뷰에 표시할 데이터셋을 필요할 때마다 구성할 수 있다.
// 최상위 레벨의 행들만 로드한 후 hasChildren을 true로 설정한다.
ds.setRows(rows);
tree.visitAllRows(function (row) {
row.setHasChildren(true);
});
// hasChildren이 true인 행의 자식 행들을 로드한다.
tree.onExpanding = function (tree, row) {
if (row.hasChildren()) {
for (var i = 1; i <= 3; i++) {
var dataRow = row.dataRow();
var vals = dataRow.getObject();
vals['loan_number'] += '_' + i;
vals['country'] += '_2';
ds.addRow(dataRow, vals);
// 2 레벨 행까지 자손 행들을 로드한다.
if (row.level() == 1) {
row.getChild(i - 1).setHasChildren(true);
}
}
}
};