设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 8493|回复: 23
打印 上一主题 下一主题

[模块/函数] 【Access小品】先利其器 -- 通用TreeView加载程序

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-8 15:51:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  版友三个太阳同志写了一段TreeView加载的程序,程序处理中用On Error Resume Next来排除已经加载的相同数据,我对此做法颇不以为然。不以为然的原因在于容错的处理通常是在除非必要时当可用,对于简单而正常的逻辑,用容错处理方式总不是一个好习惯。不过三个太阳同志希望简化代码的初衷是值得赞赏的。

  TreeView控件是系统设计中最为常见的控件,因为其广泛的使用,使得在一个系统中常常需要处理很多的TreeView数据加载的问题。TreeView数据加载的代码本身并不复杂,但写起来比较繁琐。究其原因,在于数据源与加载代码耦合度过高,所以一树一程序。由这个原因出发我们就会明白,简化TreeView加载的关键,在于数据源与子程序之间要降低耦合度。降低耦合度的方法,就是采用注入参数的方式来构建我们需要的TreeView加载程序。

  要采取注入参数的方式,我们首先需要搞明白注入些什么样的参数。你可能觉得这很简单嘛,当然需要注入各级节点需要的数据源。可是问题的复杂性在于,每个TreeView的各级节点的数据源的规律并不是恒定的。它们可能来源于多个数据表,也可能仅仅来源于一个表,还可能来源于数组、集合等变量。由于这个复杂性的存在,就难以用一个放之四海而皆准子程序来处理TreeView的通用加载。我们就需要抽象出一些常见和常用的数据源类型,仅对它们来编写通用的程序。至于你能够或者你需要抽象出些什么类型,那是你开发程序的实际需要所决定的。

  所谓工欲善其事工欲善其事必先利其器,而利其器的方法是有讲究的。这个讲究在于处理的思路和方法要得当,得当的标准不主要在于一段代码的简化(如版友三个太阳同志所做的那样),而更多的在于代码的复用性高低。

示例:

视图:


Office交流网开发的Access专用树控件免费下载-支持64位
http://www.office-cn.net/book/accesstree/5.html




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享分享 分享淘帖1 订阅订阅
24#
发表于 2018-1-1 18:37:30 | 只看该作者
eeeeeeeeeeeeeeeeeeeeeeeeeee
23#
发表于 2018-1-1 18:37:15 | 只看该作者
qqqqqqqqqq
22#
发表于 2016-8-20 11:07:02 | 只看该作者
已经下载学习
21#
发表于 2016-7-31 08:40:47 | 只看该作者
学习
回复

使用道具 举报

20#
发表于 2016-7-30 15:12:18 | 只看该作者
加一分
回复

使用道具 举报

19#
发表于 2016-5-19 21:24:29 | 只看该作者
记得印象在哪见过这东东,后面我想找,却怎么也找不到,今天有幸又在这里看到了谢谢了

点击这里给我发消息

18#
发表于 2016-4-4 15:16:09 | 只看该作者
学习
回复

使用道具 举报

17#
发表于 2016-3-17 16:07:36 | 只看该作者
学习
回复

使用道具 举报

点击这里给我发消息

16#
发表于 2015-11-17 10:43:10 | 只看该作者
强者啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 13:54 , Processed in 0.107395 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表