- 4
- 0
- 约1.29千字
- 约 9页
- 2018-05-18 发布于河南
- 举报
通过与数据库关联解决树视图的操作问题
与数据库表关联的树视图控件的操作问题
【【树图用于显示按照树形结构进行组织的数据,其用途比较广泛,Windows中的资源管理器。VB、PB、Delphi等工具提供了功能很强的树控件,可以用来复杂层次关系。
图1 地名分类示例
NodeID字段的编码按照这种规则进行,其中下级分类的长度与上级分类的长度的差一般为2,如果某个分类的类别数很多,超过了100个,就必须把这个差值定为3,如果超过了1000个,就必须把这个差值定为4。一般情况下,将这个差值定为3能够满足要求。
在树的建立时需要先处理父节点,后处理子节点,所以读取数据库中节点信息时按照NodeID字段升序排序,就可以让父节点在子节点的前面,不会出问题。
树的建立
按照NodeID字段升序把表TreeNode中的内容排序,然后依次将表中节点的内容添加到树视图中,处理的流程图如图2所示。
图2 建立树的流程图
节点的添加和删除
添加节点的处理过程如下:
确定父节点的位置。一般情况下,该树视图当前所选的节点是新节点的父节点或兄弟节点,若所选节点是父节点,就直接进行第(2)步;若所选节点是兄弟节点,则向上追溯,找到其父节点的位置,然后进行第(2)步。
根据要求创建新的节点,并创建新节点的data指针需指向的内存区域,填充其中的相关内容。
将新创建的节点作为父节点的子节点插入到树视图中,若父节点为空,则作为根节点插入到树视图中。
根据父节
原创力文档

文档评论(0)