xxx.SetChecked,xxx.GetChecked如果有不存在的id会出错,可以使用下面方法
1、写入
function SetChecked(treepanel, arrayids) {
var rootnode = treepanel.getRootNode();
if(rootnode.checkbox!=undefined)
{
if (arrayids.contain(rootnode.id))
rootnode.getUI().checkbox.checked = true;
else
rootnode.getUI().checkbox.checked = false;
}
findchildnode1(rootnode, arrayids);
}
function findchildnode1(node, arrayids) {
var childnodes = node.childNodes;
for (var i = 0; i < childnodes.length; i++) { //从节点中取出子节点依次遍历
var rootnode = childnodes[i];
if (rootnode.childNodes.length > 0) { //判断子节点下是否存在子节点
findchildnode1(rootnode, arrayids); //如果存在子节点 递归
}
console.log(rootnode.id);
if (arrayids.contain(rootnode.id))
rootnode.getUI().checkbox.checked = true;
else
rootnode.getUI().checkbox.checked = false;
}
}
Array.prototype.contain = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) {
return true;
}
}
return false;
};
2、读取,读取选中的节点id和名称
var rootNode=treePanel.getRootNode();
if(rootNode!=undefined)
{
var ChildNodes=rootNode.childNodes;
for (var i=0;i<ChildNodes.length;i++)
{
if(ChildNodes[i].getUI().checkbox.checked)
{
//选中的节点
}
}
}