如果把TreeView的数据保存在数据库中
编号:QA004081
建立日期: 2001年4月9日 最后修改日期:2001年4月9日
所属类别:
诸葛不才:
操作系统: win98
编程工具: C++ Builder
问题: 上次的答案QA004042 "TreeView控件的每个节点(node)是否有tag属性"已经收到,非常感谢
但在退出遍历扫描时怎样将ttreenode的data中的自定义指针存入一个什么类型的字段中,或者pordox表中什么类型可以存储自定义指针,能说一两段代码吗?(有实例最好了)哪位大哥知道,尽快回答,非常感谢。问题是保存在数据中后在程序再次进入时如何从表中读中并赋给节点当然要赋给对才行,总有一个标志来识别这个STRing是赋给哪个节点的吧?你有试过编这样的软件吗? 就简单的说如何让一个tree中有两个相同的名称的节点??有相关的例子吗当然是C或delphi的!
还有保存以后又怎么从程序加载时从表中取出来呢?(取的方式就够了)
水平: 刚入门
回答:
你的数据库应该包括这样几个字段:
ID:原来保存每个节点的编号,必须是唯一的。
Text:每个节点的名称,可以不唯一。
Level:每个节点的级别。
Data:如果你想在Data中保存另外的数据,可以增加一个或几个字段,这同你要保存的数据有关。
保存的时候就是一个简单的循环,将TreeView1.Items的所有项目保存,ID就是这个循环的循环变量值。每个节点都有Level属性,这个属性也要保存,否则你恢复的时候无法确定节点的父子关系。
恢复的时候按照ID字段进行排序,然后依次读入记录,根据当前记录的Level和上一个记录的Level进行比较,看看是否是父子,这样你就可以恢复数据了。不要使用名称作为识别依据。
此问题由李海回答。
| |
|
|
| |
|
|