要遍历所有数据项(所有Kendo UI树视图节点),可以使用递归的方式进行遍历。以下是一个示例的解决方案:
// 递归遍历函数
function traverseNodes(data) {
for (var i = 0; i < data.length; i++) {
var node = data[i];
// 在这里可以对当前节点进行操作
console.log(node);
// 检查当前节点是否有子节点
if (node.items && node.items.length > 0) {
// 递归调用遍历函数
traverseNodes(node.items);
}
}
}
// 调用遍历函数,传入树视图的数据源
var treeViewData = [
{ id: 1, text: "Item 1", items: [
{ id: 2, text: "Sub Item 1", items: [
{ id: 3, text: "Sub Sub Item 1" },
{ id: 4, text: "Sub Sub Item 2" }
]},
{ id: 5, text: "Sub Item 2" }
]},
{ id: 6, text: "Item 2" }
];
traverseNodes(treeViewData);
这个示例中,我们定义了一个名为traverseNodes
的递归函数,它接受一个树视图的数据源作为参数。在函数内部,我们首先遍历当前层级的数据项,并对每个节点进行操作(在这个示例中,我们只是简单地将节点打印到控制台上)。然后,我们检查当前节点是否有子节点。如果有子节点,我们就递归调用traverseNodes
函数来继续遍历子节点的层级。这样,我们可以递归地遍历整个树视图的所有数据项。