学习 TTreeView [7] - Insert、Delete
为什么80%的码农都做不了架构师?>>>
本例效果图:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, StdCtrls, Grids, ExtCtrls;typeTForm1 = class(TForm)TreeView1: TTreeView;Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button5Click(Sender: TObject);procedure FormCreate(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
varNodes: TTreeNodes;node: TTreeNode;
beginTreeView1.Align := alLeft;Nodes := TreeView1.Items;node := Nodes.Add(nil, '一连长');node := Nodes.AddChild(node, '一排长');node := Nodes.AddChild(node, '一班长');node := Nodes.AddChild(node, '战士1');Nodes.Add(node, '战士2');Nodes.Add(node, '战士3');Nodes.Add(node, '战士4');node := node.Parent;Nodes.Add(node, '二班长');Nodes.Add(node, '三班长');node := node.Parent;Nodes.Add(node, '二排长');Nodes.Add(node, '三排长');node := node.Parent;Nodes.Add(node, '二连长');Nodes.Add(node, '三连长');
end;{初始化}
procedure TForm1.Button1Click(Sender: TObject);
beginTreeView1.Items.Clear;FormCreate(nil);TButton(Sender).Caption := '初始化';
end;{删除}
procedure TForm1.Button2Click(Sender: TObject);
varnode: TTreeNode;
beginif not Boolean(TreeView1.Items) then Exit; {如果 TreeView1 无内容}if TreeView1.SelectionCount = 0 then Exit; {如果无选择}node := TreeView1.Selected;node.Delete;TButton(Sender).Caption := '删除';
end;{删除它的所有下级}
procedure TForm1.Button3Click(Sender: TObject);
varnode: TTreeNode;
beginif not Boolean(TreeView1.Items) then Exit;if TreeView1.SelectionCount = 0 then Exit;node := TreeView1.Selected;if node.HasChildren then node.DeleteChildrenelse ShowMessage(node.Text + ' 没有下级');TButton(Sender).Caption := '删除下级';
end;{用 TTreeNodes 删除}
procedure TForm1.Button4Click(Sender: TObject);
varnode: TTreeNode;
beginif not Boolean(TreeView1.Items) then Exit;if TreeView1.SelectionCount = 0 then Exit;node := TreeView1.Selected;TreeView1.Items.Delete(node);TButton(Sender).Caption := '用 TTreeNodes 删除';
end;{插入, 只能通过 TTreeNodes}
procedure TForm1.Button5Click(Sender: TObject);
varnode: TTreeNode;
beginif not Boolean(TreeView1.Items) then Exit;if TreeView1.SelectionCount = 0 then Exit;node := TreeView1.Selected;TreeView1.Items.Insert(node, '新成员');TButton(Sender).Caption := '插入';
end;end.
转载于:https://my.oschina.net/hermer/blog/319993
学习 TTreeView [7] - Insert、Delete相关推荐
- Innodb锁系统 Insert/Delete 锁处理及死锁示例分析
A.INSERT 插入操作在函数btr_cur_optimistic_insert->btr_cur_ins_lock_and_undo->lock_rec_insert_check_an ...
- 触发器实现两表之间的INSERT,DELETE,UPDATE
需求说明:培训记录处录入"外出培训"记录,保存后同步外出培训合同至"合同模块" 培训记录表PX_Record创建触发器 步骤一.新建触发器:[insert_ht ...
- MySQL5.7 支持一个表有多个INSERT/DELETE/UPDATE触发器
在MySQL5.6版本里,不支持一个表有多个INSERT/DELETE/UPDATE触发器. 例如创建t1表两个INSERT的触发器: DELIMITER $$ USE `test`$$ DROP T ...
- SQL server触发器中 update insert delete 分别给写个例子被。
SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!! 主要想知道下各个语句的书写规范. INSERT: 表1 (ID, ...
- mysql 5.7 insert_MySQL5.7 支持一个表有多个INSERT/DELETE/UPDATE触发器
在MySQL5.6版本里,不支持一个表有多个INSERT/DELETE/UPDATE触发器. 例如创建t1表两个INSERT的触发器:DELIMITER $$ USE `test`$$ DROP TR ...
- oracle中update,insert,delete的高级用法
一.对视图的更新. update,insert,delete除了可以作用于单表,还可以作用于视图.子查询,但是有种种限制. 视图(子查询)的限制: 1.没有集合操作符(并.差.交): 2.没有DI ...
- ListView控件学习系列2-编辑ListView(Edit,Update,Insert,Delete)
目录: ListView控件学习系列1-了解ListView控件 ListView控件学习系列2-编辑ListView ListView控件学习系列3-ListView选择,排序,分页 ListVie ...
- MySQL 数据库常用命令—insert delete update select
引言 MySQL 数据库和其它的数据库一样,也支持增(insert)删(delete)改(update)查(select)操作. insert 基本语法规则 insert into table_nam ...
- python tkinter insert函数_Python3 tkinter基础 Entry insert delete 点击按钮 向输入框赋值 或 清空...
? ???????Python : 3.7.0 ?????????OS : Ubuntu 18.04.1 LTS ????????IDE : PyCharm 2018.2.4 ??????Conda ...
最新文章
- 玩转Docker Ceph集群及对象存储
- 图灵奖得主高德纳与 LaTex 有啥关系?90%的人都不知道
- iOS逆向工程的一些资料
- vscode中设置字体大小_vscode配置使用教程
- pip is configured with locations that require TLS/SSL 解决
- 简单API接口签名验证
- (转)淘淘商城系列——使用maven构建工程时出现的错误
- 荣耀50样张公布:直出1亿像素 实际效果更出色
- SqlBulkCopy转载
- AJAX提交表单数据
- android中的sqlite注意事项
- STM32_WS2811驱动
- 荐书一本-----《天才在左,疯子在右》
- 选对流程引擎,玩转流程设计不是梦
- 如何建立异地容灾备份体系
- ktt算法 约化_深度学习面试题
- python读取歌词文本,并显示在图片上,制作视频
- 微信授权登录的多帐号问题
- 文件“无法删除”的处理方法
- PCL中3D点云特征描述与提取(三)
热门文章
- Flutter入门:Offstage和Visibility
- python简单爬豆瓣电影排名
- 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
- django【orm操作】
- 2016年12月数据库流行度排行榜
- 关于CS1061报错(XX不包含XXX的定义,并且找不到类型为XX的第一个参.....)的一种可能的解决的办法...
- ubuntu server 安装
- 文件上传的注意细节(PHP)
- UOJ #297. 一样远
- 20175320 2018-2019-2 《Java程序设计》第4周学习总结