因为TreeView的行都是分层组织的,所以为了访问所有子孙行,我们需要使用一种特殊的方法。 下列例题中,通过使用GroupRow.visitAll和visit方法,在勾选行时,可以同样变更子孙行的checked状态。
GroupRow.visitAll实现所指定的回调函数运行在所有子孙行中,而visit实现访问相当于指定级别的子孙行。
我们可以通过交替以下选项,变更树视图的顶级行的checked状态。
var visiting = false;
treeMain.onRowChecked = function (grid, row, checked) {
if (!visiting) {
visiting = true;
row.visitAll(function (child) {
grid.setChecked(child, checked);
});
}
};