SMART datagrid v.1 > 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
加载树数据
树数据组
Hello Tree