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
treeview自动从表中添加标题和列值做目录的方法2相关推荐
- java获取插入数据库表中的自增列值的一个简单方法
PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); // 第一步 ps.execute ...
- 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法
周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...
- navicat设计表中添加自增长列
写web通讯录的时候在添加联系人时候需要主键故采用自增长列为主键,百度链接有详细教程 点击打开链接,注意的是在设计表中添加栏位后把类型改成bigint才会出现自增长选项,希望对你有用
- html表格标题中副标题,excel数据表格制作副标题-如何在excel图表中添加标题?
如何为Excel2010图表添加标题 为Excel 2010版本的图表添加标题,具体方法: 1.点击表格就会出现"图表工具",切换到图表的"布局",点击[图表标 ...
- 获取自动增涨列的表中添加完成后的数据
当我们向有自动增涨列的表中添加完数据后,想得到刚刚生成的自动增涨列的值,有两种方法: 第一种方法: \cmd.CommandText ="insert into class(cName,cD ...
- excel透视表无添加字段_在Excel数据透视表中添加过滤器标记
excel透视表无添加字段 If you're using Excel 2007 or Excel 2010, you can quickly see which fields in a pivot ...
- mysql bench建立一张表_使用MySQL Workbench建立数据库,建立新的表,向表中添加数据...
点击上图中的"加号"图标,新建一个连接, 如上图,先输入数据库的账号密码,帐号默认为root,填好密码后 点击"OK",连接就建立好了,建立完成后,会出现一个长 ...
- java窗口向mysql加信息_Java中如何实现向DBC方式向表中添加数据
原标题:Java中如何实现向DBC方式向表中添加数据 Java中如何实现向DBC方式向表中添加数据 Java程序JDBC方式向数据库的表添加记录的步骤: 1.新建工程: Java Project 2. ...
- 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...
[推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...
最新文章
- android与python交互_Android与Python混合编程
- yolov5 tensorrt
- linux gt txt内容为空,2gt;/dev/null和gt;/dev/null 2gt;amp;1和2gt;amp;1gt;/dev/null的区别...
- wxWidgets:wxGenericProgressDialog类用法
- 为什么要在网站上主动放置沃通全球可信网站认证标志
- 基于XML配置方式实现对action的所有方法进行校验
- c/c++教程 - 2.4.1 类和对象,封装,class和struct的区别,成员属性设为私有,类拆分成.h.c文件编写方法
- Chrome插件(Extensions)开发攻略
- html自动关机代码,电脑自动关机命令,shutdown命令
- 二进制像素绘制程序 scratch编程三级
- 计算机网络操作技师论文,关于计算机操作技师论文计算机操作技师论文:计算机网络技术专业技师培养过程思考.doc...
- Android 中app加固与瘦身
- 极简linux版本,4MLinux 26.0发布,这是一个极简版本
- 我个人整理的AD/2000技巧,各位收藏吧!60多个。 转贴
- 腾讯首发Linux内核源码《嵌入式开发进阶笔记》差距差的不止一点点哦
- ubuntu16.04+caffe+GTX1060+DIGITS安装方法
- 西门子1200plc通过485modbus通讯控制英威腾伺服电机博图15.1程序
- 持久层框架Mybatis Plus的ResultMap标签里的association标签的用法
- 飞鸽传书2007 优化的房子原理
- [轻笔记]conda复制虚拟环境