




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、能不能掌握控件的使用,是业余向准专业进步的关键。虽然我本人不太喜欢用控件, 因为基于不同的操作环境成品后效果很难保证。 但有些成熟控件, 会使用还是能提高 软件水平。比如TREEVIEW控件,TREEVIEW控件,也叫树控件,主要用于层级显示和 控制,应用广泛。我一直很想学习这个控件的使用, 但每次都没有学成, 总感觉很难。 前几天有空, 狠下心来将论坛搜索一遍, 发现也不是太难, 在很短时间内只要方法得 当,很快可以掌握, 因为我是菜鸟, 所以用菜鸟的方法和大家交流,可能大家学得更 快一点,只要你用心, 三个小时一定可以掌握。 请大家一定要自己动手做, 只有做才 能理解,光看帮助和说明是没有
2、用的。热身:理解层级概念, 层级理论上可以有无限级, 一般用到四, 五级也够用了。 最上级的只 能有一个,我们把它叫做“爷”,接下来是“父”,再是“子”,再是“孙”,接下 来是“曾孙” ,汇总如下:“爷,父,子,孙,曾孙”,这里是5 级关系,除了“爷”只能有一个外,其余可以有无限个。记住这些,下面要用。第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的, 代码 也最容易理解, 学习树控件, 先将这个学会,已经掌握了一半, 所以先不要急着想怎 么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控
3、件中建立如下的一个 3 层级关系水果|_ 苹果|_ 红富士|_ 国光|_ 葡萄|_ 红提子|_ 青提子解释:水果包含 2 种,一种是苹果,一种是葡萄,苹果又包含 2 种,一种是红富士, 一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青 提子。概括如下:爷(只能有一个):水果父(这里有 2 个):父 1:苹果;父 2:葡萄子(这里有 4个):子 1:红富士(父 1苹果的子);子 2:国光(父 1苹果的子); 子 3 :红提子(父 2 葡萄的子);子 4 :青提子(父 2 葡萄的子)1、新建一个窗体,在窗体上放置两个控件,一个是Treeview
4、,一个是 Imagelist如何找到这两个控件?Treeview 控件在“工具箱”的榔头加扳手图标(其他控件)中选“ MicrosoftTreeview Control,Version Imagelist 控件在“工具箱”的榔头加扳手图标(其他控件)中选“ MicrosoftImagelist Control,Version Treeview 控件大家都明白干什么用的, Imagelist 控件是干什么用呢?原来这个控件 是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在 ImageList 控件中。2、设置这两个控件的属性首先要讲清楚控件的属性设置有 2种,一种是设置这个控件在
5、ACCES中的属性,比 如名称等。一种是设置这个控件本身的属性。要设置这个控件在 access 中的属性, 选中控件后按鼠标右键选“属性”就可以了。 跟我们平时设置文本框什么的一样。 要 设置这个控件本身的属性,只要双击这个控件就可以了。1)设置 Treeview 控件在 access 中的名称属性,将名称设置为“ Treeview2)设置 Imagelist 控件在 access 中的名称属性,将名称设置为“ Image2)设置 Imagelist 控件本身的属性, 双击控件后, 在弹出来的设置框中选“ Images, 单击“Insert Picture 按钮,在你电脑中选择你需要的图标。在
6、“ Key:”栏中填入“K1”。其他默认设置不用改。3)设置 Treeview 控件本身的属性,双击控件后,在弹出来的设置框中选“ General”, 在这个选项面版中有很多项设置, 大多数是设置树控件的显示格式, 你自己慢慢研究。 这里我们将第一项“ Style 选 7,在第五项“ Imagelist 选项中将我们放置的 Imagelist控件“ Image选上。这项设置就将图标和树控件联系了起来。3、写代码将数据填充到树控件中 代码写在哪里?我们希望窗体一打开, 数据就自动填充在树控件中, 所以这个代码就 写在窗体的加载事件中,代码及解释如下:Private Sub Form_Load()
7、* * 用代码将数据填充到树控件中* Dim Nodeindex As Node* 解释:定义 Node*Node 是树控件的对象*每个Node都有三个东西,图标,文本,索引值* 图标和文本都是实际显示出来的,索引值是隐含的* 设置最顶级的“爷”:* Set Nodeindex = , 爷, 水果, K1)= True* 树控件填充数据的方法是括号内是 Add 方法的参数在这里“爷”是索引值,“水果”是将显示的文本,“K1”是图标的索引值Sorted是指Node的排序,True就是指米用排序,默认是按拼音第一,二个参数是空的具体的参数设置以后你可以慢慢详细研究设置第二级“父”Set Nodei
8、ndex = 爷, tvwChild, 父 1, 苹果, K1)= TrueSet Nodeindex = 爷, tvwChild, 父 2, 葡萄, K1)= True* 第一个参数“爷”是指这一层对应上层“爷”的*tvwChild 参数是规定格式,指相对来说,这一层是爷的子层* “父 1”是索引值,因为“父”有 2 个,而索引值是唯一的,所以要编号,用“父 1 ”“父 2”分开* “苹果” “葡萄”是要显示的文本,K1是显示图标的索引值* 现在知道为什么在“爷”层设置时,第一,第二个参数是空的,因为这是最顶层*设置第三级“子”Set Nodeindex = = True 父1, tvwCh
9、ild, 子 1, 红富士, K1)Set Nodeindex = = True 父1, tvwChild, 子 2, 国光, K1)Set Nodeindex = = True 父 2, tvwChild, 子 3, 红提子, K1)Set Nodeindex = = True 父 2, tvwChild, 子 4, 青提子 , K1)* 第一个参数“父 1, 2”是指这一层对应上层“父”的, 但要注意对应的是“父 1” 还是“父 2”*tvwChild 参数是规定格式,指相对来说,这一层是父的子层* “子 1”是索引值,因为“子”有 4 个,而索引值是唯一的,所以要编号,用“ 1, 2,
10、3, 4”分开* “红富士”等是要显示的文本,K1是显示图标的索引值*End Sub就这么多代码, 总共十几行, 就可以在树控件中显示数据了, 很简单吧。 第一小时结 束。第二小时:学习怎样将树控件和数据库中的数据绑起来 在第一小时里,我们学习了怎样直接用代码填充树控件, 但在实际使用中, 这种方法 的应用性不大, 只有将树控件与数据库中的数据结合起来, 才能有真正的应用。 其实 绑定数据库的方法和直接用代码填充是大同小异的,我们要做的只是将Add 的参数里,原来我们手工输入的变换一下,让程序知道去数据库中找数据。目的:将数据库中的数据与树控件绑定 背景:我们想在树控件中显示销售客户的层级列表
11、,这个销售客户的分层是这样的, 先按“大区”,再按“省份”, 最后到“客户”我们在数据库中建立了三个表, 字段 如下:大区表:大区 ID ,大区名称省份表:省份 ID ,省份名称,所属大区客户表:客户 ID ,客户名称,所属省份 这三个表互相建立了关系1、新建一个窗体,在窗体上放置两个控件,一个是Treeview ,一个是 Imagelist2、设置这两个控件的属性在这里和第一小时唯一的区别是我们在Imagelist 控件的设置时,导入了两个图标,一个KEY为K1, 一个为K2,原来树控件的Node图标是可 以变化的,我们准备某个项没有选中时的图标是一个没有打开的文件夹, 选中时是一 个打开的
12、文件夹,以区别。3、编写代码,如下:Private Sub Form_Load()* * 用数据库表 (查询也一样 )中数据填充树控件* Dim Rec As NewDim stRecQL As StringDim Item As IntegerDim i As IntegerDim nodindex As Node* * 定义各类* 设置最顶级的 爷I*Set nodindex = , 爷 , 销售客户 , K1, K2)= True* * 这里的设置跟第一小时里基本是一样的*但最后多了一个K2的参数,K1代表的是未被选中时的图标,K2代表是被选中 后的图标* 仔细观察一下,你会发现选中和没
13、选中的图标是不一样的 ,一个是一个文件夹 ,一个 是一个打开的文件夹* 设置第二级 父 * 大区表 , , adOpenKeyset, adLockOptimistic, adCmdTableDirect For i = 0 To - 1Set nodindex = 爷, tvwChild, 父 & ( 大区 ID), ( 大区名称 ), K1, K2)= TrueNext* 第一行意思是打开一个表去寻找数据 ( 查询也是可以的 )*关键在与Add参数的变化*大家看第三个参数,在第一小时里,这里是父1,这里用(大区ID)来代替1,意 思是用表的编号来代替手工编号* 第四个参数也是一样 , 直接
14、用表中的名称字段来取代原来我们手工的命名* 设置第三级 子 省份表 , , adOpenKeyset, adLockOptimistic, adCmdTableDirectFor i = 0 To - 1 Set nodindex = 父 & ( 所属大区), tvwChild, 子 & ( 省份ID), ( 省份名称 ), K1, K2)= TrueNext* 不用再解释了吧* 要注意的是,定义第一个参数的时候 ,不是用父 & ( 大区 ID), 而是用父 & ( 所属大区 )* 这个意思是 : 用省份表中关联大区表的字段 , 而不是直接用大区表的 ID* 设置第四级 孙 * 客户表 , ,
15、 adOpenKeyset, adLockOptimistic, adCmdTableDirectFor i = 0 To - 1孙 & ( 客户Set nodindex = 子 & ( 所属省份 ), tvwChild, ID), ( 客户名称 ), K1, K2)= TrueNextI* 到此你应该完全明白了* End Sub第二小时结束 第三小时:将树控件与窗体结合我们做树控件, 当然不可能单单为了显示层级数据, 我们希望跟窗体结合, 当我们单 击树控件中的某个客户时,窗体上能相应的转到这个客户的资料。目的:将树控件与窗体结合1、我们还是沿用第二个小时里的例子, 但在建立窗体时, 将窗体的数据来源设为“客 户表”,并在窗体中放置好客户表的字段。2、写入如下代码:Private Sub Treeview_NodeClick(ByVal Node As Object)树控件的鼠标点击事件为 NodeClickI*Dim str As String*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新疆租赁房屋合同
- 共享鞋柜合同范本
- 设备分期购销 合同范本
- 学校购货合同范本
- 股份买卖合伙合同范本
- 装饰装修包干合同范本
- 砖厂个人劳务合同范本
- 动漫设计服务合同范本
- 红皮病型银屑病电解质紊乱护理查房
- 购买苗木合同范本
- 配电带电作业工考试试卷与答案
- 2025年河南省机关事业单位工勤技能岗位等级考试(兽医防治员·高级技师/一级)(综合评审技能)历年参考题库含答案详解(5卷)
- 医院综合门诊部综合管理体系建设
- 2025至2030年中国SCADA行业市场运行现状及投资规划建议报告
- 医院感控知识培训
- GB/T 9869.2-2025橡胶用硫化仪测定硫化特性第2部分:圆盘振荡硫化仪
- 保密教育培训课件内容
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 2024-2025学年人教版数学五年级下学期期末试卷(含答案)
- 混凝土搅拌站实验室质量管理手册47590试卷教案
- 电气施工四措两案9.9
评论
0/150
提交评论