表结构ID,Parent_ID,Name
怎样向TreeView中添加数据,并且点击节点可以获取对应节点的值ID

解决方案 »

  1.   

    首先TreeView的节点TreeNode.Data可以放置数据,或者自己派生一个TTreeNode的子类,这样可以自己定义类,那么存放数据也可以解决了。
    根据你的表结构展示数据,一个节点ID,必须查询出他具有哪些子节点,也就有在数据库中Parent_ID为ID的记录,然后继续判断每天记录有没有子记录,一直到没有为止,这样的过程是递归,不过效率不高。
    也可以通过TStringList + 循环的方式来生成树,把生成的节点ID及其指针保持到StringList,以后每个条记录去StringList找自己的Parent,找到就知道自己的ParentNode了,记得打开StringList的sorted属性。
      

  2.   

    treenode有一个data属性,可以指向一个地址,你可以建一个record,里面存有你需要的信息,然后每创建一个node,就new一个record指针,放到data属性如果是只保存id,可以直接将id值放入data