通过使用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);
}
}
}
};