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相关推荐

  1. java获取插入数据库表中的自增列值的一个简单方法

    PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); // 第一步 ps.execute ...

  2. 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法

    周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...

  3. navicat设计表中添加自增长列

    写web通讯录的时候在添加联系人时候需要主键故采用自增长列为主键,百度链接有详细教程 点击打开链接,注意的是在设计表中添加栏位后把类型改成bigint才会出现自增长选项,希望对你有用

  4. html表格标题中副标题,excel数据表格制作副标题-如何在excel图表中添加标题?

    如何为Excel2010图表添加标题 为Excel 2010版本的图表添加标题,具体方法: 1.点击表格就会出现"图表工具",切换到图表的"布局",点击[图表标 ...

  5. 获取自动增涨列的表中添加完成后的数据

    当我们向有自动增涨列的表中添加完数据后,想得到刚刚生成的自动增涨列的值,有两种方法: 第一种方法: \cmd.CommandText ="insert into class(cName,cD ...

  6. excel透视表无添加字段_在Excel数据透视表中添加过滤器标记

    excel透视表无添加字段 If you're using Excel 2007 or Excel 2010, you can quickly see which fields in a pivot ...

  7. mysql bench建立一张表_使用MySQL Workbench建立数据库,建立新的表,向表中添加数据...

    点击上图中的"加号"图标,新建一个连接, 如上图,先输入数据库的账号密码,帐号默认为root,填好密码后 点击"OK",连接就建立好了,建立完成后,会出现一个长 ...

  8. java窗口向mysql加信息_Java中如何实现向DBC方式向表中添加数据

    原标题:Java中如何实现向DBC方式向表中添加数据 Java中如何实现向DBC方式向表中添加数据 Java程序JDBC方式向数据库的表添加记录的步骤: 1.新建工程: Java Project 2. ...

  9. 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...

    [推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...

最新文章

  1. android与python交互_Android与Python混合编程
  2. yolov5 tensorrt
  3. linux gt txt内容为空,2gt;/dev/null和gt;/dev/null 2gt;amp;1和2gt;amp;1gt;/dev/null的区别...
  4. wxWidgets:wxGenericProgressDialog类用法
  5. 为什么要在网站上主动放置沃通全球可信网站认证标志
  6. 基于XML配置方式实现对action的所有方法进行校验
  7. c/c++教程 - 2.4.1 类和对象,封装,class和struct的区别,成员属性设为私有,类拆分成.h.c文件编写方法
  8. Chrome插件(Extensions)开发攻略
  9. html自动关机代码,电脑自动关机命令,shutdown命令
  10. 二进制像素绘制程序 scratch编程三级
  11. 计算机网络操作技师论文,关于计算机操作技师论文计算机操作技师论文:计算机网络技术专业技师培养过程思考.doc...
  12. Android 中app加固与瘦身
  13. 极简linux版本,4MLinux 26.0发布,这是一个极简版本
  14. 我个人整理的AD/2000技巧,各位收藏吧!60多个。 转贴
  15. 腾讯首发Linux内核源码《嵌入式开发进阶笔记》差距差的不止一点点哦
  16. ubuntu16.04+caffe+GTX1060+DIGITS安装方法
  17. 西门子1200plc通过485modbus通讯控制英威腾伺服电机博图15.1程序
  18. 持久层框架Mybatis Plus的ResultMap标签里的association标签的用法
  19. 飞鸽传书2007 优化的房子原理
  20. [轻笔记]conda复制虚拟环境

热门文章

  1. Linux下MPlayer的安装
  2. weblogic环境搭建
  3. USACO 3.3.2 Shopping Offers解题报告
  4. [pytorch、学习] - 4.4 自定义层
  5. node --- 模块化连接MongoDB数据库的参数设置方案之一
  6. debian apt-get联网安装mysql服务
  7. 散列冲突与作为特征值的散列
  8. JeeSite 4.0 说说前端的那些事
  9. 使用WebDriver遇到的那些坑
  10. 【MongoDB学习笔记21】MongoDB的复合索引