有数据表结构:
id
01
010001
010002
02
020001
0200010001
在treeview中显示,如果知道id最多有多少个节点,已经实现,但如果id动态,该如何?

解决方案 »

  1.   

    就是说:020001 则是二级目录
            0200010001则是三级目录
    如何在treeview中显示
      

  2.   

    懂了
    这个应该是如何找父类节点的问题,需要遍历TreeView,找出字符串符合的父类节点,在父类节点中Add一个子节点就可以了
      

  3.   

    首先,你的数据库表结构就不科学,你这种设计会限制树的深度,不如换下面的结构看看
    字段   ID   Name   FID
           0    食品   0
           1    水果   0
           2    蔬菜   0
           3    苹果   1
           4    西瓜   1
           5    龙眼   1
           6    白菜   2
           7    萝卜   2
           8    菠菜   2
    则产生的树如下
        食品
        |--水果
            |--苹果
            |--西瓜
            |--龙眼
        |--蔬菜
            |--白菜
            |--萝卜
            |--菠菜这样就不必担心树的兄弟节点和下级节点的限制,并且查找父节点和子节点都比较方便。 
    ID为每节点唯一标识符, FID为父节点标识符。
      

  4.   

    Stiven_PFan(爱卿儿) 讲的比较透彻,佩服
      

  5.   

    to Stiven_PFan(爱卿儿):
      如果按你的方法如何对某一类进行统计?比如该类下有10个子类,如何查询出所有的子类?是不是很麻烦?我认为xluzhong(打麻将一缺三,咋办?) 的id结构是合理的,这样可以很容易地对任何一个节点进行统计,只是应该添加一个父节点的编号如Prt,当为最上一级节点时Prt='#'或其它特殊的字符以便于进行查询根节点。要在treeview中显示其实很单间:
    1:在程序开始(如在oncreate事件),添加所有根节点.select * from 表 where Prt='#'
    2:在treeview的onExpanded事件中添加子节点(每一次只添加一层)要在treeview的onExpanded事件中添加节点时判断该节点是否有下级节点可以用 where Prt<>id