这次,主要是探讨下如何把数据库上的数据绑定到树上。
一般情况下,将树与数据库绑定才有实际的意义,这样树控件能动态地显示导航。
其实数据库绑定到树跟直接设置是一样的,都不复杂。只要是把数据库中取出来的数据用add 方法绑定即可
无论你是用ado,还是dao 都一样 ,主要是取出数据即可,这里不做详细介绍。
ado:rst.Open “sql”                                rst(字段)
dao:CurrentDb.OpenRecordset(sql)      rst1!字段

主要代码:

Dim Node1 As Node '定义变量

Dim rst, rst1 As DAO.Recordset

i = 1

'定义变量

s = "SELECT * FROM 客户 Where 客户ID>0 ORDER BY 客户ID"

Set rst = CurrentDb.OpenRecordset(s) '定义根的动态集,数据来自"客户"表

Do Until rst.EOF

'设置第一级客户"

Set Node1 = TreeView1.Nodes.Add(, , "客户" & rst!客户ID, Nz(Trim(rst!名称)), "K1", "K2")  '将客户表中的内容加入树型控件中

s1 = "SELECT * FROM 销售合同 Where 客户=" & rst!客户ID

Set rst1 = CurrentDb.OpenRecordset(s1) '定义一个树杈的动态集,数据来自"销售合同"表

Do Until rst1.EOF

'设置第二级"合同"

Set Node1 = TreeView1.Nodes.Add("客户" & Mid(str(rst!客户ID), 2), tvwChild, "合同" & rst1!合同号, Nz(Trim(rst1!合同名称)), "K1", "K2")

' 将销售合同表中的内容加入树型控件中

s2 = "SELECT 销售商品.合同号, 商品.商品名称 FROM 销售商品 INNER JOIN 商品 ON 销售商品.商品 = 商品.商品ID Where 销售商品.合同号='" & rst1!合同号 & "'"

Set rst2 = CurrentDb.OpenRecordset(s2) '定义一个树枝的动态集,数据来自"销售商品和商品"表

Do Until rst2.EOF

'设置第三级"商品"

Set Node1 = TreeView1.Nodes.Add("合同" & rst1!合同号, tvwChild, "商品" & str(i), Nz(Trim(rst2!商品名称)), "K1", "K2")

'将销售商品和商品表中的内容加入树型控件中

i = i + 1

rst2.MoveNext

Loop

rst1.MoveNext

Loop

rst.MoveNext

Loop

转载于:https://www.cnblogs.com/officecn/p/3193830.html

[入门]树(treeview)控件制作导航的做法(三)相关推荐

  1. [入门]树(treeview)控件制作导航的做法(一)

    很多朋友都问到,如何做一种 点开一个加号,然后有很多分支,这样的导航目录,其实这种目录可以通过treeview 这个控件来实现. 树控件简单来说就是一棵树,有很多的树枝,树枝上有果实.我就是通过这种方 ...

  2. 树TreeView控件与DataTable交互添加节点(最高效的方法)

    方法一: View Code 本文转载:http://dengzebo.blog.163.com/blog/static/18867406201032141742168/ #region " ...

  3. Python GUI编程入门(31)-Treeview控件

    Treeview是Tkinter8.5新引入的控件,可以用于实现较为复杂的GUI界面.本文使用一个FileBrowser实例来说明它的用法. 构建主窗口和退出菜单的代码和前一篇文章几乎相同: root ...

  4. android treeview 树形结构,前端开发中,使用TreeView控件创建树形结构

    原标题:前端开发中,使用TreeView控件创建树形结构 Wijmo是一款使用Type编写的新一代Java/HTML5控件集.它秉承触控优先的设计理念,在全球率先支持AngularJS,并提供性能卓越 ...

  5. 网站导航(TreeView 控件)

    TreeView 是让人印象最深刻的导航控件之一,不仅因为它允许呈现富树视图,还因为它支持按需填入树的部分(不需要刷新整个页面).但最重要的是,它支持很多样式来改变它的外观. 通过几个基本的属性,可以 ...

  6. C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标

    在C#系统应用毕设U盘防御软件中需要实现文件不可恢复的删除,首先需要实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录并加载相应图标.显示结果 ...

  7. wpf展开树节点_WPF中展开一个TreeView控件的所有树节点

    在 Windows Form 应用中,我们碰到需要展开一个TreeView 控件的所有树节点的时候很简单,微软已经替我们提供了ExpandAll 方法,我们只要简单的一行代码tv_QTree.Expa ...

  8. C#——树视图TreeView控件使用

    C#--TreeView控件使用 说明 TreeView Nodes属性 ImageList属性 Scrollable属性 ShowLines属性 ShowPlusMinus属性 ShowRootLi ...

  9. 将DataTable中的数据,根据节点的子父节点的Tag。展示到TreeView树状控件中。

    //移除所有分类tvBookType.Nodes.Clear();try{dt = BookTypeServices.GetBookType();}catch (Exception ex){Messa ...

最新文章

  1. 闲来无事 linux cp命令的三种实现方式
  2. 诺基亚7原生android,【IT之家出品】诺基亚7快速上手体验:蔡司镜头回归,原生Android味...
  3. 海量数据拆分到nosql系统的一种方案
  4. 在PropertyGrid中使用密码显示
  5. 用QEMU构建嵌入式LINUX系统
  6. java threadlocal 并发_Java并发编程:ThreadLocal
  7. Hive 大数据表性能调优
  8. 基于opencv的摄像头脸部识别抓取及格式储存(python)
  9. 计算机考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?如何选择?...
  10. win7 升级到 win10
  11. CAD图纸打开慢是什么原因?怎么解决?
  12. Java实现对文件的读写操作
  13. 揭秘淘宝搜索量快速暴增的秘密
  14. 搜狗输入法linux版 rpm,wps for linux 不能使用搜狗输入法
  15. 系统学习深度学习(四) --CNN原理,推导及实现源码分析
  16. 【数据压缩】作业1-1:对浊音、清音、爆破音进行音频分析
  17. 10亿个数中找出最大的10000个数(top K问题)
  18. group by 用法
  19. UML-----包图
  20. python画直线--2点法

热门文章

  1. ASP.NET DataBinder.Eval()
  2. 3款国产软件,让你工作效率翻倍,白嫖党的最爱,还不来看
  3. 推广的域名链接在QQ微信被拦截怎么办 微信域名网址防封防屏蔽的解决办法
  4. 全球与中国半导体晶圆金属剥离平台市场深度研究分析报告
  5. 液晶电视服务器无响应时间,夏普液晶电视响应速度慢是咋回事?
  6. 随笔--读书笔记《人人都是产品经理2.0--写给泛产品经理》苏杰
  7. 软考高级网络规划设计师电子教材
  8. 【java连接数据库】idea、MySQL5.7和SQLyog工具
  9. 作业1-游戏分类与热点探索
  10. outlook Express 邮件自动回复功能