private DevExpress.XtraTreeList.Nodes.TreeListNode tlKKK;
private DevExpress.XtraTreeList.Nodes.TreeListNode onFindNode(DevExpress.XtraTreeList.Nodes.TreeListNode StartNode, string ColName, string Values)
{
DevExpress.XtraTreeList.Nodes.TreeListNode RNode = null; foreach (DevExpress.XtraTreeList.Nodes.TreeListNode tln in StartNode.Nodes)
{
if (tln == null)
break;
if (tln.GetValue(ColName).ToString() == Values)
{
tlKKK=tln;//tlKKK得到的值正确,即使是在三层以上都是正确的
RNode = tln;//在三层或以上层次时会出问题
//break; //如果在此处使用了break,如果树有三层或以上层次时会出问题
}
if (tln.HasChildren)
this.onFindNode(tln, ColName, Values);
}
return RNode;
}
有没有高手帮解释下,现在给搞的头晕晕的.....
private DevExpress.XtraTreeList.Nodes.TreeListNode onFindNode(DevExpress.XtraTreeList.Nodes.TreeListNode StartNode, string ColName, string Values)
{
DevExpress.XtraTreeList.Nodes.TreeListNode RNode = null; foreach (DevExpress.XtraTreeList.Nodes.TreeListNode tln in StartNode.Nodes)
{
if (tln == null)
break;
if (tln.GetValue(ColName).ToString() == Values)
{
tlKKK=tln;//tlKKK得到的值正确,即使是在三层以上都是正确的
RNode = tln;//在三层或以上层次时会出问题
//break; //如果在此处使用了break,如果树有三层或以上层次时会出问题
}
if (tln.HasChildren)
this.onFindNode(tln, ColName, Values);
}
return RNode;
}
有没有高手帮解释下,现在给搞的头晕晕的.....
public string GetNode(TreeNode node, int num, string path)
{
if (node == null)
{
return "no num";
}
else
{
if (node.Value == num)
{
return path;
}
else if (node.Value > num)
{ return GetNode(node.Left, num, path+"0"); }
else
{ return GetNode(node.Right, num, path+"1"); }
}
return "no num";
}
TreeListNode onFindNode(TreeListNode StartNode, string ColName, string Values)
{
foreach (TreeListNode tln in StartNode.Nodes)
{
if (tln == null)
{
return null;
} if (tln.GetValue(ColName).ToString() == Values)
{
return tln;
}
if (tln.HasChildren)
{
TreeListNode RNode = this.onFindNode(tln, ColName, Values);
if (null != RNode) return RNode;
}
} return null;
}