关于数据库与treeview的问题(困扰好多天)
有两个窗体,两个窗体都调用数据库
对于第一个窗体,如果数据库中有这个数据,则选中,如果没有而且又需要选中的打上勾,然后“下一步”进入第二个窗体
在第二个窗体上有个treeview以及一些“增加节点”,“删除节点”,“上移下移节点”等功能按钮。在这二个窗体初始化的时候,如果数据库中有数据则也直接调库生成treeview,如果没有而且第一个窗体又选中的则添加进来生成treeview。
现在的问题是treeview与数据库的操作。究竟是先数据库中的数据生成映射然后进行操作呢?还是在“完成”按钮的时候重新生成一个数据库?
这两种方法我都遇到了一些问题。对于方法一(映射),拖动节点,移动节点,增加删除节点,都需要更新映射,这样操作量很大。 更可怕的是我在生成树的时候在数据库定义了一个“LayerIndex”(就是节点的index),如果移动,拖动,不仅这个节点本身要变动,它的兄弟节点的index也需要更新,这样就会很复杂 。
对于方法二:把以前已经入库的所有数据删除然后重新生成数据,这样的话我有些记录中其它的字段又需要用户重新设置了。这样对用户很不方便
谢谢大家的指点,能给点思路吗
------解决方案--------------------没看懂,友情SF
------解决方案--------------------我做了一个POJO类
例如
class A
{
...
}
------解决方案--------------------重写:
class A
{
.....//attribute
ArrayList sublist;//他的所有子节点信息--存放的数据全是A类型
}
A类有对数据库执行SQL语句的功能;
只要让A绑定到TreeNode上就万事ok,以后对TreeView就是对数据库的操作