从数据库里读出数据创建一棵树,现在对树(实际上是对数据库)进行添加和删除操作,为了能够体现修改在每次修改成功后都刷新一次树(重新生成树),现在的问题是我想保留上次选中的节点,以便再次生成树时仍然作为当前节点(树的节点文本是可以重复的)。

解决方案 »

  1.   

    你好,在添加、删除节点时不必重新建树。
    添加时可在当前节点下再新增一个节点。
    删除时可将当前节点删除,当前选中节点置为相邻节点即可。
    修改时节点选中状态也不用变。
    只是思路,我一直这样作的。你若每次添加或删除操作都重建树数据量大时会效率下降。
    ----------
    谢谢lead001(勇往直前[email protected]) ,但是这样也存在这问题:
    1.添加节点时通常要弹出一个新的窗体,可能会造成窗体之间的循环引用;
    2.是程序变得非常零碎,每一个操作都要执行一段“自己”的代码,不如那种方法通用性强!
      

  2.   

    删除的同时用TreeView.selected.delete 删除项目就可以了。