各位有气质的大神:请帮小弟看看,为什么没有获取成功。只获取到循环以外的。
循环里面的dt1抓不到数据。
现在有一个树,所有的项都是可勾选的
现在我要遍历这个树.并保存在一个数组里面
1表示勾选 0表示没勾选
function show (){
var zTree = $.fn.zTree.getZTreeObj("treeDemo"); //获取树
var nodes = zTree.getNodes(); //获取每一个节点
for(var node in zTree.transformToArray(nodes)){ //转换成数组
var checked = node.checked; //检查每一个节点的选中状态
if(checked)
result=result+"1 ";
else
result=result+"0 ";
}
}
function show (){
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.transformToArray(treeObj.getNodes());
for (var i = 0; i < nodes.length; i++) {
var checked = nodes[i].checked;
alert(checked);
}
}
遍历所有的item,并检查check状态,就OK了!
我的语句是遍历每一个树节点,FOR EACH NODE IN TREEVIEW1.NODES ....请帮忙看看是不是语句写错了?怎么遍历所有ITEM?
节点的使用SetItemData(),需要的时候调用CTreeCtrl::GetItemData()
我看了你写的方法,我的dt1就是一个DATASET,存放数据的。方法是一样。还是没有找到问题在哪里。谢谢你。@qq
答案找到了。。。原来漏了一句,分享给大家。
traverse(nd.Nodes) '这句非常重要,遍历每个节点的子节点。
Sub traverse(ByVal a As TreeNodeCollection)
Dim nd As TreeNode
For Each nd In a
Dim dr As DataRow = dt1.NewRow
If nd.Checked Then
Dim a1() As String = Split(nd.Text, "_", 2)
dr(0) = a1(0)
dr(1) = a1(1)
dt1.Rows.Add(dr)
End If
traverse(nd.Nodes) '这句非常重要,遍历每个节点的子节点。
Next
End Sub