我要在TTreeView上找到一个符合条件的结点。结点的内容都要是从数据库中读出来的。数据结构为:
DEPID 本级单位号
DEPFID 上级单位号 (如是根结点,则DEPID和DEPFID的值相同)
DEPNAME 本级单位名
现在我可以读出根结点到TTreeView控件里,怎样读出叶子呢?我不会定位节点。写了一段代码如下:Var
mynode,fathernode: TTreeNode;fathernode := TreeView_dep.Items.????
mynode := TreeView_dep.Items.AddChild(fathernode,Query1.FieldByName('depname').asstring);我就是首先要定位fathernode,然后给它加叶子。但我不知道问号那里怎么写,请高手指教!! 

解决方案 »

  1.   

    TreeView_dep.Items[i]i是fathernode的绝对索引值
      

  2.   

    可是我的TreeView_dep上的节点值都是从数据库中读出后动态填加的,我也不知道它的绝对索引值。
      

  3.   

    可以遍历TreeView所有的节点
    如果是可以确定是第几级的节点的话加一个条件限制遍历的节点范围即可
    相信不同的级的节点会有不同的性质(即区别点)。
    TreeNode.data是一个指针类型的值,你可以定义一个类型指针。在添加节点时
    可以赋同类型指针值的不同的值加以区别,当遍历时加以判断即可
      

  4.   

    添加使用Tag属性作为标志,这样处理会简单些
    还可以使用IndexOf定位节点的
      

  5.   

    好象有getnextnode之类的函数吧。节点值用指针读出就行了