论文部分内容阅读
摘 要:本文就基于分级流水码原理和和递归算法设计动态导航树形目录作了探讨,在实际应用中,结合不同的数据库或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
关键词: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