现在的位置: 首页 > 综合 > 正文

穿透显示功能的实现方法

2011年12月21日 ⁄ 综合 ⁄ 共 566字 ⁄ 字号 评论关闭

什么是穿透显示?
    穿透显示指选择父节点可直接显示子节点包含的内容;
如企业的组织架构中,选择处级单位可直接显示下属的各课级人员,而不仅仅是处长一人;
再如个人知识管理中知识分类体系,选择父分类,可直接显示所包含全部知识点。如图所示,单击“软件开发管理”,可显示其及其子分类包括的知识点

针式个人知识库管理系统
常见的实现方法:

1、SQL生成法:基本原理是搜寻节点树,生成用“or”连接的SQL语句;此法受SQL语句串长限制,有可能产生“SQL语句太够复杂”的出错。这个方法,我在开发针式个人知识库管理软件中使用,只要节点不太深,性能是不受影响的;做法是将ID作为Tag放在节点对象内

2、冗余法:基本原理是引入冗余字段和冗余表,冗余字段标示节点的位置,冗余表保存各节点的全部位置信息。比如,在人事档案管理系统中,组织架构用OU1、OU2....OU8等字段构成的冗余表表示各OU所在位置;假如处级位置OU4,那显示某个处级全部人员的SQL为OU4=该单位ID即可实现穿透。

3、编码法:基本原理是使用一串字符来唯一表示节点的上下级关系信息,例“F2A”表示F公司2分公司A部门;这样显示某个特定部门的信息要使用子串函数即可实现穿透。此法无法利用索引,所以性能有所影响

上述三种方法,各有优劣。平时可作性能、编码复杂度等测试,实际使用方可灵活选择。

   更多内容...

抱歉!评论已关闭.