treeview遍历问题
我想找到treeview中是否存在一个名字叫lbxt的id;存在就返回true, 否则返回false
这个是我的代码,如果遍历的层数超过两层,得不到想要的
function AlertNode(NodeArray,lbxt)
{
if(parseInt(NodeArray.length)!=0)
{
for(a=0;a<NodeArray.length;a++)
{
var cNode;
cNode=NodeArray[a];
if (alltrim(cNode.getAttribute("ID"))==lbxt)
{
var flag
flag=true;
return flag;
break;
}
if(!flag)
{
if(parseInt(cNode.getChildren().length)!=0)
AlertNode(cNode.getChildren(),lbxt);
}
}
}
return;
}
问题点数:40、回复次数:3Top
1 楼guhuili(泡泡)回复于 2005-03-04 12:21:37 得分 0
upTop
2 楼jiezhi(风满袖)回复于 2005-03-04 12:26:41 得分 0
bool exist = false;
protected void OperNodeByID(string nodeID,OperNode oper,TreeNodeCollection tnc,ref TreeView tv)
{
foreach(TreeNode node in tnc)
{
if (node.ID ==nodeID)
{
//do something :
exist = true;
break;
}
if(node.Nodes.Count!=0)
OperNodeByID(nodeID,oper,node.Nodes,ref tv);
}
}Top
3 楼jiezhi(风满袖)回复于 2005-03-04 12:27:39 得分 40
sorry,改一下:
public void OperNodeByID(string nodeID,TreeNodeCollection tnc,ref TreeView tv)
{
foreach(TreeNode node in tnc)
{
if (node.ID ==nodeID)
{
//do something :
exist = true;
break;
}
if(node.Nodes.Count!=0)
OperNodeByID(nodeID,node.Nodes,ref tv);
}
}
Top




