treeview自动从表中添加标题和列值做目录的方法2

treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的

http://www.cnblogs.com/del/archive/2008/05/15/1114450.html

 

首先界面上添加treeview组件,然后在treeview的onchange事件里这样写:

因为要用到定义个过程,需要在接口声明里引用

 
  private{ Private declarations }/// <summary>/// 刷新左侧treeView/// </summary>procedure RefreshLeftTree(Sender: TObject);public{ Public declarations }end;
 
procedure TForm3.RefreshLeftTree(Sender: TObject);
vari: Integer;node: TTreeNode;List: TStringList;s,fieldName: string;
begin//刷新前全部清空原来的列表
  TreeView1.Items.Clear;{建立 List}List := TStringList.Create;List.Sorted := True;           {指定排序}List.Duplicates := dupIgnore;  {避免重复}{把数据加入到 TreeView}for i := 0 to frmDataPool.qry需要做的事.FieldDefs.Count - 1 dobeginfieldName := frmDataPool.qry需要做的事.FieldDefs[i].Name;if not 'ID说明附件事情'.Contains(fieldName) thenbeginnode := TreeView1.Items.Add(nil, fieldName); {字段名}{为避免数据重复, 先把数据给 List}List.Clear;frmDataPool.qry需要做的事.First;while not frmDataPool.qry需要做的事.Eof dobeginList.Add(frmDataPool.qry需要做的事.FieldByName(fieldName).AsString);frmDataPool.qry需要做的事.Next;end;{把 List 中的数据加入到 TreeView}for s in List dobeginTreeView1.Items.AddChild(node, s);end;end;end;List.Free;
end;

且增加新记录后也要刷新下目录才合理

procedure TForm3.Button3Click(Sender: TObject);
begin
Form4.ShowModal;//showmodal可以确保这个窗口关闭后才执行下一步
//增加后刷新下
RefreshLeftTree(Sender);
end;

 

onchange的触发事件代码:

procedure TForm3.TreeView1Change(Sender: TObject; Node: TTreeNode);
beginif Node.Parent <> nil thenbegin{下面的 Filter 其实就是 SQL 查询语句, 如果用其他数据库替换就是}frmDataPool.qry需要做的事.Filter := Node.Parent.Text + '=''' + Node.Text + '''';frmDataPool.qry需要做的事.Filtered := True;end else frmDataPool.qry需要做的事.Filtered := False; {选字段名时取消过虑}
end;

 

 

转载于:https://www.cnblogs.com/chuangyiyuan/p/6042193.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux常用运维命令笔记

今天给大家整理一下Linux常用的命令&#xff0c;希望对大家能有所帮助&#xff01;MYSQL相关1、查看mysql版本status; select version()2、 mysql启动命令#01 使用 service 启动&#xff1a;service mysqld start (5.0版本) service mysql start (5.5.7版本) #02 使用 mysqld 脚…

电脑知识:如何将旧电脑文件迁移到新电脑中,包括操作系统

将旧电脑中的文件和操作系统全部转移到新电脑中&#xff0c;一般可以借助分区助手、磁盘精灵或者GHOST等磁盘工具。为了提高数据传输速度&#xff0c;可以将旧电脑的硬盘拆下安装到新电脑&#xff0c;然后使用PE工具盘引导电脑进入PE系统中&#xff0c;将旧电脑硬盘中的数据借助…

浏览器插件:一款解决谷歌浏览器吃内存神器插件

Chrome浏览器是大部分开发者必备的浏览器&#xff0c;它的主要有点有便于调试、启动快、无广告。但是谷歌浏览器也有自己的缺点&#xff0c;Chrome浏览器对系统内存的占用太大了&#xff0c;每打开一个页面都会占用系统内存。如果你的浏览器一下子打开几十个网页&#xff0c;不…

电脑软件:推荐两款好用的文件重复检测软件

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

APP技巧:微信中这6个设置建议关闭,可以防止个人信息或将全暴露

目录 01、 开启添加好友验证功能 02、 添加“我”的方式 03、不让他&#xff08;她&#xff09;看 04、允许陌生人查看10条朋友圈 05、 设置查看朋友圈范围 06、微信授权管理 相信提到微信&#xff0c;大家基本每天都在用&#xff0c;如今微信已经成为了我们社交软件中的第一大…

硬件知识:内存单根16G和两根8G差别有多大?

关于内存单根16G和两根8G的差别&#xff0c;小编觉得这些事实&#xff0c;你得知道&#xff01; 论单根16G和两根8G的区别&#xff01; 内存单通道和双通道&#xff0c;大家都有听过吧&#xff01; 理解起来很简单&#xff0c;一个单通道&#xff0c;只能进行单向传输数据&…

操作系统:Win10的沙盒是什么,如何使用,看完你就懂了

Win10操作系统新增的windows沙盒是一种安全机制&#xff0c;为执行中的程式提供的隔离环境。通常是作为一些来源不可信、具有破坏力或无法判定程序意图的应用程序提供实验之用。很多网友想要通过沙盒运行一些未知的程序&#xff0c;但是不知道windows沙盒如何开启使用&#xff…

操作系统:电脑系统盘常见文件夹的功能详解

目录 一、C盘根目录常见文件夹 二、隐藏文件夹 相信很多电脑小白对于系统C盘每个文件夹的功能不是很清楚&#xff0c;今天小编给大家介绍一下电脑系统盘文件的功能详解&#xff0c;希望对大家能有所帮助&#xff01; 一、C盘根目录常见文件夹 1、debug 是系统调试文件夹&#x…

手机技巧:手机只剩20%电量?有了这几招,多用2小时

如今越来越多的小伙伴在旅途中和上班路上 免不了要用手机打发时间 看直播、打游戏、听音乐 有了手机&#xff0c;仿佛就有了全世界 可是&#xff0c;手机的电不够用怎么办&#xff1f; 不怕&#xff01; 今天小编为您送上 最强省电攻略和充电指南&#xff01; 省电攻略 iphone篇…

网络知识:电脑无线网连接不上问题汇总

在使用电脑的时候&#xff0c;有时候电脑可能连接不上无线网络。那么电脑无线网络连接不上怎么办呢?下面就让小编来告诉大家吧&#xff0c;欢迎阅读。 第一步&#xff1a;应检查无线网卡的驱动是否安装正确。 右键点击“我的电脑”-属性-硬件-设备管理器&#xff0c;查看是否存…

小W计树

排列组合思想. 先跑一遍最短路, 再从1节点开始搜索, 假如搜到一个点的路径长度等于最短路, 则记录到达该点的路径数 1. 最后遍历一遍, ans * rec[i] 输出答案即可. 关键在于想到这个排列组合的思想. #include<cstdio> #include<cstring> #include<algorith…

CPU知识:主频、核心、线程、缓存、架构

我们都说CPU相当于人类的大脑&#xff0c;在日常生活中&#xff0c;人脑是术业有专攻&#xff0c;有人天生适合搞艺术&#xff0c;有人天生适合搞科学。CPU作为计算机的大脑&#xff0c;其实也是这样的。下面就带大家了解一下CPU知识以及怎么选择合适的CPU。 CPU有几个重要的参…

@SpringBootTest注解进行单元测试无法运行

1&#xff1a;用idea新建一个项目 2:在测试类下建一个方法&#xff0c;发现方法没法运行 查看资料之后发现是需要在对应的方面名称前面和类名前面加上public修饰符即可&#xff0c;需要测试那个方法执行哪个方法就行 3:加了 public发现可以运行了

视频接口:DP接口和HDMI接口介绍,看完你就懂了

目录 一、DP接口 二、HDMI接口 三、总结 1、技术支持的不同 2、带宽支持的不同 3、厂商制作成本的不同 电脑显示器高清传输通过会用到两个接口&#xff0c;就是DP接口和HDMI接口&#xff0c;今天电脑学习小编带大家对比一下这两个接口。 一、DP接口 DisplayPort缩写DP&#xff…