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); var i: Integer; node: TTreeNode; List: TStringList; s,fieldName: string; begin //刷新前全部清空原来的列表 TreeView1.Items.Clear; {建立 List} List := TStringList.Create; List.Sorted := True; {指定排序} List.Duplicates := dupIgnore; {避免重复} {把数据加入到 TreeView} do begin fieldName := frmDataPool.qry需要做的事.FieldDefs[i].Name; if not 'ID说明附件事情'.Contains(fieldName) then begin node := TreeView1.Items.Add(nil, fieldName); {字段名} {为避免数据重复, 先把数据给 List} List.Clear; frmDataPool.qry需要做的事.First; while not frmDataPool.qry需要做的事.Eof do begin List.Add(frmDataPool.qry需要做的事.FieldByName(fieldName).AsString); frmDataPool.qry需要做的事.Next; end; {把 List 中的数据加入到 TreeView} for s in List do begin TreeView1.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); begin if Node.Parent <> nil then begin {下面的 Filter 其实就是 SQL 查询语句, 如果用其他数据库替换就是} frmDataPool.qry需要做的事.Filter := Node.Parent.Text + '=''' + Node.Text + ''''; frmDataPool.qry需要做的事.Filtered := True; end else frmDataPool.qry需要做的事.Filtered := False; {选字段名时取消过虑} end;
treeview自动从表中添加标题和列值做目录的方法2的更多相关文章
- SQL将一个表中的某一列值全部插入到另一个表中
1. SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=selec ...
- Oracle-一张表中增加计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示过程中做一些过滤
总结: 1.计算某列值(数值or字符串)重复的次数 select 列1,count( 列1 or *) count1 from table1 group by 列1 输出的表为:第一列是保留唯一值的 ...
- oracle 11g在大表中添加字段及默认值--加速
今天遇到这个问题了.简单的增加语句,默认SQLPLUS执行,却会超时. 要增加客户端的TIMEOUT时间才可以解决.(感觉超过两三分钟,默认超时30秒) 另外, 也可以用两步操作(1,增加字段,2,修 ...
- FOR XML PATH做为数据表中单列或者多列的字符串拼接的方法,放到一列中去,很好用。
先看看自己弄得例子,SELECT sName+',',hoppy+',' FROM student2 where hoppy='游泳' FOR XML PATH('')--PATH后面跟的是行标题, ...
- 使用MySQL Workbench建立数据库,建立新的表,向表中添加数据
使用MySQL Workbench建立数据库,建立新的表,向表中添加数据 初学数据库,记录一下所学的知识.我用的MySQL数据库,使用MySQL Workbench管理.下面简单介绍一下如何使用MyS ...
- ArcMap图层属性表中添加图片
一看标题是不是有点懵?懵就对了!刚接触到的时候我也有点懵,属性表不是都是文本啊数字啊之类的格式,怎么还可以存图片,下面就带大家来看看吧! 一.关于图层入库问题 图层进入数据库和图层以shp格式存储时, ...
- Hibrenate实现根据实体类自动创建表或添加字段
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...
- 在数据表中添加一个字段的SQL语句怎么写
如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字 ...
- Oracle 11g对大表中添加DEFAULT值的NOT NULL字段速度有大幅度的提升
在一张2000万的表上增加了一个字段并字段一个默认值,执行这条语句(alter table tablename add new_col default ‘col’)一个小时没有执行完,问我有没有其他解 ...
随机推荐
- Cracking the Coding Interview 第二章
2.2 链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点. 思路:快慢指针(error: 判断是否有可行解,否则返回null, while, if 后加空格) /* public cla ...
- angular2+webpack的搭建过程遇到的问题记录
最近在由于公司的项目要重构,Superiors要求将原先的Ionic1+angular1+gulp用全新的Ionic2+angular2+webpack重构.苦逼的Google了好久,环境搭建还是不太 ...
- js 设计模式-接口
js模拟java接口检测函数:确保子类实现接口中的方法:(出自js设计模式) 上代码: <script type="text/javascript" > <%-- ...
- django manage.py 的各种功能
[简介] django-admin.py是Django的一个用于管理任务的命令行工具.本文将描述它的大概用法. 另外,在每一个Django project中都会有一个manage.py.manage. ...
- 学习笔记_ADB常用指令
ADB 查看连接到计算机的Android设备或模拟器 adb devices 说明: 正常显示状态应该是IP:Port State. State=device说明设备已经连接到计算机, State=o ...
- extjs 6.2 helloworld
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- VB ListBox 添加横向滚动条
Private Declare Function SendMessage Lib "user32 " Alias "SendMessageA" (ByVal h ...
- 简单的jquery ajax文件上传功能
/* * 图片上传 * 注意如果不加processData:false和contentType:false会报错 */ function uploadImage(image) { var imageF ...
- 使用OllyDbg从零开始Cracking CHM
需要的小伙伴拿走,百度云链接:https://pan.baidu.com/s/1pLJa5dh.另有一些视频资料,太多,需要的可以留言.
- 寒假学干货之------初步布局Layout
在开发的最初,需要设计好我们的Activity,在res/layout下,找到**activitymian(名字都差不多的)的.xml文件,打开他就可以开始编辑. http://www.tuicool ...