两张表clothsort表和cloth表,举些数据做例子如下:
clothsort表:
       sortid     sortname    sortlevel(必须是10位)
         1         棉布        0000000000
         2         棉布1       0001000000
         3         棉布2       0002000000
         4         涤纶        0100000000
         5         涤纶1       0101000000
         6         涤纶2       0101010000cloth表:
        clothid     clothname     sortid
          1          黑色棉布       1
          2          白色棉布       1
          3          紫色棉布       1
          4          黑色涤纶       5
          5          白色涤纶       6
现在要求在窗体上用一个treeview显示clothsort表,用一个listbox显示cloth表
具体要求如下:
treeview显示如下:
棉布
   [-棉布1
   [-棉布2
涤纶
   [-涤纶1
          [-涤纶2
listbox显示的信息是根据treeview改变的,例如treeview里面选中棉布则listbox
里面显示(黑色棉布,白色棉布,紫色棉布),如果选中涤纶1则listbox显示黑色涤纶,
根据sortid来对应的。
以上是呈现界面的要求,另外还要做到可维护,右键选中treeview上的一个节点弹出一个菜单
可以增加或删除节点,增加的节点与该节点同级,例如,选中棉布1并选增加,输入棉布3,则
在棉布1下面同级增加棉布3,如果选删除,则棉布1被删除。注意:最多只能增加5级,sortlevel是10位的,不能无限增加!
同理listbox里,选中一条数据弹出一个菜单可以增加或删除数据,例如选中黑色涤纶并选增加,输入紫色涤纶,则涤纶1这一级对应的clothname由黑色涤纶一项改变为黑色涤纶和紫色涤纶两项。
所有这些维护的操作,在鼠标点击界面上的保存按钮后才被写入上面两张表,如果不保存则不更
新数据库。
以上问题,能够提供代码并测试通过的,人民币100元求解,决不食言,只因催的太紧,还请高手
帮忙。有问题的可以[email protected]联系,必有重谢!!!

解决方案 »

  1.   

    建议create a table named treenodetree_parent  tree_child  XX
    0000000000   0001000000  XX
    0000000000   0002000000  XX
    0100000000   0101000000  XX
    0100000000   0101010000  XX
    这样,你建treeview就简单多了。
    要是明天还没有达人来拿分,我就给你写个。
      

  2.   

    你的表建的不太好,即没有明显的父子关系,需要拆分字符串才能明确关系。如果时间来得及,最好修改一下(例如:增加一个字段表明父ID是谁)。不过就你的情况也是可以做的,你在形成树的时候,可以参看
    http://blog.csdn.net/knight94/archive/2006/05/01/704281.aspx修改每次的DataTable.Select中RowFilter条件即可。
      

  3.   

    clothsort表结构不好,建议重建
      

  4.   

    我最近发现了一个新方法来写树,提供给你做个参考吧:
    在clothsort中加一个字段:classKey
    比如棉布的classKey值设成001,那么棉布1的classKey就设成001-001,棉布2的classKey就设成
    001-002。其它的类似。
    当你想写树的时候,你会发现,用这个字段来写树甚至不需要用递归。
    因为当你想找到棉花的全部下级时,只要:
    select * from  clothsort where classKey like '001%' order by classKey.
    想想这个SQL的查询结果是什么样的,天哪,如果想把数按标准顺序输出到word或者html的话,只要把这个结果集从第一条读到最后一条。。太爽了。兄弟们,顶我谢谢
      

  5.   

    楼上的各位兄弟真的先谢谢你们了,就像你们所说的,表的结构不好,应该增加一个字段最为父节点代码,
    我现在觉得其实最大的问题到不是说这个树的显示困难,因为增加一个父节点字段后
    显示就比较容易了,我觉得最难的还是维护,就是如何增加节点?新增节点保存到数据库后如何自动形成 10位代码?还有,listbox也是需要可以增加删除的维护,我只剩1天时间了,明天就要做出来,大家帮帮忙吧!不胜感激!!!