我现在有两个TreeView A和B,分别由数据库绑定(通过递归,这个已实现),现在要将B上的节点拖到A中任意选定位置,并且保存进数据库(这个也已经实现)
现在无法实现的是如何在下次打开的时候,记忆上次这个插入点的位置.
也就是说现在实现的效果,第2次打开的时候,上次拖进来的节点沉在最下面,而不是上次插入的位置.
我的数据表构成是:Tree_Index(节点编号),Tree_Parent(父节点),Tree_Text(节点内容)求达人给点建议...这是公司项目,上面压得很紧.

解决方案 »

  1.   

    我想是不是由于数据库中数据插入位置的不同而导致的?因为你用递归,而你插入的数据又被排到了数据库的最后位置,可能就会出现上述问题,你想你可以改变生成treeview的方法,或是对数据库进行排序。不知道我说的对不对。以上意见仅供参考。
      

  2.   

    你用什么数据库?你在开始程序时,一定要初始化treeview吧,也就是说要从数据库中把数据都读出来,对吗?这样的话,你可以把数据都读到本机的内存中,然后再排序,用排好后的数据来初始化treeview,不会占用多大资源的,反正初始代只进行一次,所以可以牺牲一下程序速度,初始化好了后就可以了,现在很多程序都是这样的,初始化时特别慢,原因就是在初始化,或是在检测系统。
      

  3.   

    我是在初始化的时候就把数据库的数据保存到DataTable里面,然后对DataTable操作
    DataTable可以排序吗?
      

  4.   

    我不知道DataTable中有没有相关的排序方法,不过你可以自己写一个排序的函数呀,排好后再把数据写回DataTable中。有点麻烦,不过暂时我也没有什么好办法。