比如有3个节点,分别是A、B、C,在C节点的下面有一个数据项D,当点击D数据项时,怎么知道D数据项上面是A、B、C三个节点的名称?
谢谢

解决方案 »

  1.   

    直接循环实现就可以了,先得到D节点在第几个位置上。然后循环至它的前一个节点,取每个节点的TEXT就可以了。
      

  2.   

    也就是只找它们同一层的节点吗?那就循环找出父节点相同的或者父节点为nil就可以了呀。
      

  3.   

    把你的treeview做到一找数据表中,
    逻辑层次就很清楚了
      

  4.   

    var
      j,i,k:integer;
      str:string;
    begin
      str:='';
      for i:=0 to treeview1.Items.Count do begin
        if  treeview1.Items.Item[i].Text=treeview1.Selected.Text then begin
           k:=i;
           break;
        end;
     end;
     for i:=0 to k-1 do
       str:=str+ #13#10+treeview1.Items.Item[i].Text ;
     showmessage(str);
    end;
    如果要同层节点,在if 条件处加上treeview1.items.item[i].parent=treeview1.selected.parent,就可以了。
    你试验一下吧!
      

  5.   

    我只需要找出同一级的父结点有几个儿子结点就可以了,按照 yxw1314(mosquito) 的方法,得到的是所有父结点的数据,这没有必要。