- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 树形可视图形界面概要
目 录 7.1 树形结构概述 7.2 树形视图 7.3 树形视图数据库设计 7.4 树形视图数据检索 7.5 树形视图数据操作 本章小结 7.1 树形结构概述 7.1.1 树的定义 树是n(n≥0)个节点的有限集T,T为空时称为空树,否则它满足如下两个条件: 有且仅有一个特定的、称为根的节点; 其余的节点可分为m(m≥0)个互不相交的子集T1,T2,…,Tm,其中每个子集本身又是一棵树,并称为根的子树。 树是一种递归的数据结构,如图7.1所示。 7.1.2 树的存储结构 双亲表示法 因为树中每个元素的双亲(父节点)是唯一的,因此对每个元素,将其值(data)和一个指向双亲的指针(parent)构成一个元素的节点,再将这些节点存储在向量中。图7.1所示树的双亲表示法见图7.2。 图7.2 双亲表示法 孩子表示法 将每个数据元素的孩子连成一个链表,链表的头指针与该元素的值存储为一个节点,树中各节点顺序存储,一般根节点的存储号为0。图7.1所示树的孩子表示法见图7.3。 图7.3 孩子表示法 双亲-孩子表示法 在孩子表示法的元素节点中再加上一个双亲域,就是双亲-孩子链表表示法。 孩子兄弟表示法 树中每个数据元素存储的节点结构如图7.4所示,图中的data为该数据元素的信息,left为该元素的第一个孩子的指针,right为该元素的右兄弟的指针。图7.1所示树的孩子兄弟表示法见图7.5。 7.2 树形视图 图7.6 树形视图 树形视图功能: 显示层次数据之间的关系; 允许用户操作不同层次的数据; 将相互间有联系的数据以树形描绘。 树形视图的特点 以树形节点的形式展开或折叠数据; 每个节点可以用图标和文本标签来描述,其中图标包括普通图标、被选中的图标、静态图标和覆盖图标等; 标签可以设置为是否允许修改的属性; 可任意选择数据的行数; 支持拖放技术。 7.2.1 层次关系 树形视图的最大优势是能够清晰地显示信息的多层关系以及列表项与列表项之间的一对多关系。 树形视图层次关系中的每个分支可以带有不同的层次数目。 树形视图以层次结构组织和显示数据,它的每一个单独的数据项都隶属于一个层次。 7.2.2 图标 树形视图中数据项的图标,是指树形视图在显示数据时,每一个数据项左边的小图形。 图标类型 普通图标(Normal Picture) 最常用的图标,显示在数据项的左边。 选中图标(Selected Picture) 当数据项被选中时,显示在数据项左边的图标。 状态图标(State Picture) 当数据项定义了该图标时,它显示在普通图标的左边,表示数据项的状态。 覆盖图标(Overlay Picture) 覆盖在数据项普通图标上的图标,也用以表明数据项的状态。 图标使用原则 用不同的图标来表示不同的层次; 用不同的图标来表示同一层次中不同类型的列表项; 当数据项状态发生变化时,使用不同的图标加以区分。 7.2.3 交互方式 树形视图可以提供编辑标识、删除项目、展开及折叠分支、对列表项按字母排序等基本操作,这些不需要通过编程来实现。 通过编辑程序来定制这些基本操作。在与这些基本操作相关的事件中编写程序,可以对相关操作进行有效性检查,若为非法操作,则拒绝执行。 其他操作,如增加项目、删除项目以及根据其他条件进行排序等,可以通过编辑程序来实现。 7.3 树形视图数据库设计 树形视图数据 树形视图中的每个数据项都是一个TreeViewItem,而这些树形视图项只能在程序中逐项加入。 数据库设计的数据结构类型 分层数据结构 分层数据结构是指每层的数据存放在一个数据表中,有几层就会有几个数据表。它的优点是每层的结构类型可以自由定义,不必考虑它与其他层是否有相关的属性;缺点是层数必须是固定的,用户不能自由定义。 单表结构 单表结构是指不管数据处于哪一层,都把它存放在一个表中。它的优点是用户可以自由定义它的层数,层数是灵活的,不需固定;它的缺点是用户必须总结出每层数据的所有属性,表的结构是这些属性的并集。 混合结构 混合结构是指对于某些属性比较雷同的层采用单表结构实现,而对于属性差异较大的层,采用分层的数据结构存放。它克服了前两种结构的不足。 图7.7 数据库设计逻辑模型 7.4 树形视图数据检索 SQL语句检索方式 数据窗口检索方式 建立数据窗口对象; 在窗口的数据窗口控件上放置数据窗口对象; 设置数据窗口控件事务对象; 检索数据; 使用检索出来的数据生成树形视图。 数据存储检索方式 声明并初始化一个数据存储,然后把它与一个数据窗口控件关联起来; 根据需要检索数据; 使用检索出来的数据生成树形视图; 当完成所需操作后清除该数据存储实例。 7.5 树形视图数据操作 7.5.1 刷新操作 实现方法 删除原有的树形
文档评论(0)