数据库中的数据是这样的:node_id   node_name node_parent
---------------------------------------
001 中国 000
002 河北 001
003 河南 001
004 四川 001
005 浙江 001
006 郑州 003
007 石家庄 002
008 杭州 005
009 成都 004怎么把这样数据读取到TreeView控件.VB中的TreeView的节点都有一个Key属性,可以用这个Key来标识一个节点,添加子节点的时候,就用这个Key.Delphi怎么用呢.

解决方案 »

  1.   

    delphi的treenode也有一个data属性
      

  2.   


    怎么通过自这个Data属性查找到一个节点.就是说怎么查找一个节点,或者用其它的属性,比如Text,只能用遍历的方法吗?
      

  3.   

    估计只能遍历了
    因为data是一个指针(到底按它所指的结构的什么域来匹配,无法预知的),text只是一个标题,重复是很有可能的
      

  4.   


    GetNode 怎么用,那个参数是个是会类型. HTREEITEM
      

  5.   

    var node:TTreeNode;
    begin
        Node:=tv1.Items.Add(nil,'中国');
        tv1.Items.AddChild(node,'河北');
        Node:=tv1.Items.AddChild(Node,'上海');
        tv1.Items.AddChild(node,'浦东');
    end;这个代码可以演示在TREEVIEW增加NODE。你的信息都在NODE中。可以用遍历的方法加入了。不过想偷懒的可以用CXDBTREELIST来做,直接搞定。
      

  6.   

    如果你要找那个节点,你自然是到数据库中去查找
    当然你要是在TreeView中找,也不是不可以,应该是遍历
      

  7.   

    PAPlace = TAPlace^ ;
    TAPlace = record 
      id : string ;
      name : string ;
      parent : string ;
    end ;var
      p : PAplace ;
      node:TTreeNode;
    begin
       new(p) ;
       p.id := '001' ;
       p.name := '中国' ;
       p.parent :='000' ;
      
       node := TreeView1.Items.Add(p.name) ;
       node.Data := p;end ;