SMART datagrid v1.4 > Examples

Back  Forward

Lazy Load Tree Data  Example
no-lite

TreeRow.hasChildren 속성과 TreeView.onExpanding 이벤트를 이용하면, 실행 시간 사용자가 expander를 클릭해서 행을 펼치는 순간에 자식 행들을 로드하는 방식으로 트리뷰에 표시할 데이터셋을 필요할 때마다 구성할 수 있다. 

Tree - 1
data rows
Code -1
    // 최상위 레벨의 행들만 로드한 후 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);
                }
            }
        }
    };

소스보기 JSP 

See Also
TreeRow.hasChildren
TreeView.onExpanding
트리 개요
TreeDataSet.addRow
TreeRow.getChild
Examples
트리 데이터 로드하기
Tree DataSet
Hello Tree