3
394558739
Unregistered / Unconfirmed
GUEST, unregistred user!
众所周知TreeView通过一些代码与数据库相连,可以将数据库里的数据显示到TreeView中,但真正达到完美功能,还大有文章可做,如节点信息保存问题、节点访问与查询问题可伤脑筋了,最近我就遇到了问题:
我是通过来保存节点信息来访问和查询数据记录的,如将每个节点的父、子节点通过编号方式(PID)保存到数据表里,通过这个编号来提取节点的信息,如
数据表结构:
ID NAME PID
001 学校 001
002 张三 001001
003 李四 001002
TreeView结构:
学校
---张三
---李四
1、现在问题原来张三的节点编号是001001,当删除张三后,李四的节点编号变成001001,就无法通过001001来访问或查询数据表中的李四(因为数据表中李四的节点编号还是001002),
2、就个问题可以通过先记录TreeView当前节点编号等删除后将记录的编号修改回数据表中,以达到数据表中编号和TreeView节点编相对应,但问题是TreeView树很大,节点很多时,删除情况复杂时(如删除父节点和父节点下的节点时),怎样办?
我是利用NODE.TEXT的属性通过SQL来查找数据表中的相同唯一记录,以达到目的的。但问题是在节点和记录相同并唯一时可以满足我的要求,一但记录和节点文本相同不是唯一时就不能满足要求了(因为节点中可能有多个相同文本),我也试过使用节点的编号来查找为数据记录(因为每节点编号都是唯一的,不会相同的),但问题又来了,就是删除和拖移节点时,TreeView节点编号就改变了,乱了和用来保存的数据表记录不同的了,还是不可能满足我要求。我想试下在删除和拖移节点后,使用批量更新记录的方法,来更新保存节点编号的记录,行不。哎。
再问些问题:
1、我是通过显示窗口时将数据表中记录显示在TreeView中的,正确否?
2、是否在TreeView显示后,将节点信息保存到data属性中?
3、是否在点选TreeView节点时取后data属性中的节点信息?
3、是否在添加、复制、修改、删除、拖移TreeView的节中时后,再将data中的节点信息保存回数据表中?
我是通过来保存节点信息来访问和查询数据记录的,如将每个节点的父、子节点通过编号方式(PID)保存到数据表里,通过这个编号来提取节点的信息,如
数据表结构:
ID NAME PID
001 学校 001
002 张三 001001
003 李四 001002
TreeView结构:
学校
---张三
---李四
1、现在问题原来张三的节点编号是001001,当删除张三后,李四的节点编号变成001001,就无法通过001001来访问或查询数据表中的李四(因为数据表中李四的节点编号还是001002),
2、就个问题可以通过先记录TreeView当前节点编号等删除后将记录的编号修改回数据表中,以达到数据表中编号和TreeView节点编相对应,但问题是TreeView树很大,节点很多时,删除情况复杂时(如删除父节点和父节点下的节点时),怎样办?
我是利用NODE.TEXT的属性通过SQL来查找数据表中的相同唯一记录,以达到目的的。但问题是在节点和记录相同并唯一时可以满足我的要求,一但记录和节点文本相同不是唯一时就不能满足要求了(因为节点中可能有多个相同文本),我也试过使用节点的编号来查找为数据记录(因为每节点编号都是唯一的,不会相同的),但问题又来了,就是删除和拖移节点时,TreeView节点编号就改变了,乱了和用来保存的数据表记录不同的了,还是不可能满足我要求。我想试下在删除和拖移节点后,使用批量更新记录的方法,来更新保存节点编号的记录,行不。哎。
再问些问题:
1、我是通过显示窗口时将数据表中记录显示在TreeView中的,正确否?
2、是否在TreeView显示后,将节点信息保存到data属性中?
3、是否在点选TreeView节点时取后data属性中的节点信息?
3、是否在添加、复制、修改、删除、拖移TreeView的节中时后,再将data中的节点信息保存回数据表中?