数据库里面有几个字段是父子关系,且在同一个表中。
比如说:第一个字段是“国家” 二个是“省城” 三个是“地区”
怎么样算可以让他们在VIEWTREE组件里面按照父子关系表现出来
同一个国家的所有省城都在同一个国家的节点上面。同一个省城的地区在一个省城节点上面
大家有没有好点的算法
大家指点指点。

解决方案 »

  1.   

    可能还是应该通过状态字来判断吧?
    国家用XXX表示
    省城用XXX-YYY表示
    地区用XXX_YYY_ZZZ表示
      

  2.   

    节点更新主要是指内容的更新,更新时按木瓜的方案对新增内容添加状态字就可以。
    你可以这么做:
    1、选中一个节点(这时应该知道是添加国家,或是添加某个国家的省份,或是添加某个国家某个省份的地区,常识性的约定);
    2、单击右键,动态生成一个popupmenu菜单,菜单项有:添加国家,添加省份,添加地区,删除等等;
    3、根据选中节点的层次(在程序初始的时候,根据状态字来生成treeview,treeview生成完毕后,就可以利用它的层次属性,如果存储treeview内容的表为空,则生成一个根节点例如“全世界”或自己决定)决定哪些菜单灰显(不可用);
    4、决定每个菜单的动作,也就是添加相应的内容,可以显示一个form,也可以直接在treeview上操作,添加的内容回写至表。
    5、刷新当前treevire。看看这样一个思路符不符合你的操作要求。
      

  3.   

    一般设计是:ID,ParenID。 那样才好生成树。控件都由 DBTree
      

  4.   

    搜索一下以前的帖子吧,
    用递归函数,很简单就添加到 Tree 的结点了。