基于分级流水码的导航树形目录设计

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:avc66
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文就基于分级流水码原理和和递归算法设计动态导航树形目录作了探讨,在实际应用中,结合不同的数据库或XML文件,为应用开发提供简捷、高效的支持,使用分级流水码的结构作为导航树的实现是很有现实价值的。
  关键词:TreeView;分级流水码;递归算法;动态导航树形目录
  中图分类号:TP311.52
  树形目录是数据树的图形表示形式,如操作系统中资源管理器等。在应用程序中经常使用树形目录分组管理对所有的资源进行分区域、分组管理等。在设计中采用的Visual Studio.Net的TreeView控件来实现树形目录。
  TreeView控件不仅可用来显示单击、展开的树中的数据,而且还增强了非常灵活的交互性功能。这些交互功能的实现应用时非常广泛的,TreeView控件支持数据绑定,即允许通过数据绑定的方式,使得控件节点与XML、表格、关系数据等结构化数据建立紧密的联系。
  为了便于管理TreeView的节点信息,在树形目录的设计中应用了分级流水码原理来设计动态导航树形目录。
  1 分级流水码的原理
  分级流水码的原理是数字根据位长、大小等关系建立起层次结构,以树为例,假设根节点用“001”表示,也就是说与这个树根节点相连的树枝都是以“001”开头的数字,那么“001001”,“001002”,“001003”,分别表示这棵树根节点下的枝干“A”,“B”,“C”,以此类推以“A”,“B”,“C”为根的枝干或叶子的数字代码就是“001001001”A-a1,“001001002”A-a2,“001002001”B-b1,“001002002”B-b2,,“001003001”C-c1,“001003002”C-c2,依此原理最终形成的树结构如图1所示。
  当然每一级的位数可以根据需要自己定义,可以自己定义规则,这是非常灵活的,只要程序算法能够逻辑严谨的实现,可以无限增加。使用分级流水码的优点是便于对数据进行分类查询,因为每个节点代码本身就体现着它的传承关系,这样做非常的实用。所以使用分级流水码的结构作为导航树的实现是很有现实价值的。
  2 TreeView控件的常用属性和方法
  TreeView控件是Web应用程序开发中经常用到且功能强大的控件,用来显示信息的分级视图。TreeView控件支持的功能有自动数据绑定,可以将控件的节点绑定到分层数据;可通过与SiteMapDataSourse控件集成提供对站点导航的支持;可在每个节点旁边显示复选框;可显示为可选择文本或超链接的节点文本;通过编程访问TreeView对象模型,可以创建动态树。
  TreeView控件由节点组成,具有子节点的节点可以展开或折叠,一个节点用一个TreeNode对象表示,对TreeView控件的操作实际上是对节点的操作。TreeView控件的常用属性如表1所示:
  3 动态导航树形目录的实现
  动态导航树形目录的节点信息来源于后台数据库,本实例中选用了SQL Server数据库,用于填充节点信息。使用数据库来填充节点操作简单,容易管理,而且可以随时编辑节点。
  要在应用程序中实现动态导航树形目录需要遵从以下三个条件:
  (1)动态地控制数据:也就是说数据根据需要从数据库或XML文件取出,并且这些数据可以在程序中根据需要增加、修改、删除,那就是要动态地控制数据。
  (2)深度递归。递归算法是实现动态数据结构的核心算法,其思路是通过查找每个节点确认它是否有子节点,如果有子节点则用TreeView提供的方法将其下级子节点加入到当前节点中,然后显示到页面,如果没有子节点则表示当前节点是叶子节点,则返回。
  (3)动态刷新树结构:也就是要在数据增加、更新、删除后能够动态刷新树显示最新的数据结构,树结构反应的是后台的数据库中最新的数据变化。
  然后调用TreeView节点的Add方法添加根节点“所有设备”。然后调用createChildNode(TreeNode parentNode, DataRow datatrow)递归算法,生成动态树,parentNode是要节点代码,datatrow是要节点详细信息,就是不断的判断节点的子节点,如果有则递归调用createChildNode(TreeNode parentNode,DataRow datatrow)算法,并将节点加入到当前节点的子节点中。
  因为现在大部分的系统应用都是根据角色-权限划分的,使用动态树可以根据系统需要对不同的角色划分不同的权限以保证数据的保密要求,同时也使系统更具人性化。
  4 结束语
  综上所述,基于分級流水码原理和递归算法进行导航树形目录设计,在实际应用中,结合不同的数据库或XML文件为应用开发提供简捷且高效的支持,所以使用分级流水码的结构作为导航树的实现是很有现实价值的。
  参考文献:
  [1]胡海斌.动态绑定TreeView控件实现网站分类导航[J].现代计算机(专业版),2014(15):66-68.
  [2]马相芬.TreeView控件在asp.net中的动态生成[J].计算机光盘软件与应用,2014(08):236-237.
  [3]王佳榕,罗玉柱,常学洲.asp.net中TreeView控件的应用[J].石家庄铁路职业技术学院学报,2014(02):92-96.
  [4]畅育超.TreeView控件基础与综合应用[J].电脑编程技巧与维护,2013(11):48-52.
  [5]姚旭.TreeView控件在网站设计中的应用[J].职业技术,2013(05):93.
  作者简介:姚剑芳(1983.11-),女,福建宁德人,教师,高校讲师,软件设计工程师(中级),本科,工程硕士,研究方向:数据库应用、智能监控。
  作者单位:福建生物工程职业技术学院,福州 350002
其他文献
目的 探究头孢曲松治疗早期梅毒的临床价值。方法 选取早期梅毒患者50例作为本次研究的对象,采用中心随机法将患者分为2组,实验组接受头孢曲松治疗,对照组接受苄星青霉素治疗
摘 要:基于成分分析的层次化调度框架,其中使用到Uppaal,这是一种集成的工具环境,被用来对被转换时间自动机网络模型的实时系统进行建模、校验和验证。它是由瑞典Uppsala大学的信息技术学院和丹麦Aalborg大学的计算科学学院联合开发的。主要讨论了一种可重构的调度框架,表示层次化结构,调度策略,具体任务行为和可共享资源均可重构。  关键词:层次化结构;可重构;调度策略  中图分类号:TP391
目的 分析冠心病心力衰竭患者采用美托洛尔、曲美他嗪给予临床治疗的效果,为制定临床治疗方案提供依据。方法 选择2013年6月至2015年6月内蒙古赤峰平庄矿区总医院心内科收治
随着《阿凡达》的成功,使它成为3D立体电影的转折点,它证明了3D立体技术的强大之处,此时3D立体电影的市场潜力已经毋庸置疑。另一方面观众也发现了3D立体电影的缺点,那就是在观看
本文简要介绍了矿业软件在我国的发展历程,对两款国产矿业软件3DMine、DIMINED的技术特点和竞争优势进行了评述。提出了增强国产矿业软件综合竞争力的几条重要举措。
所谓炼字,实际上就是讲究用词的艺术,即通过字的虚实死活的转化和组合,求得用字的奇险新色的修辞效果。古代词类研究中客观存在的实用主义取向,以及词类应用上表现出的虚实无定、