procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
//循环读取勾选节点代码及内容
//StateIndex 1:unchecked(未选择) 2:checked(选择) 3:indeterminate(不确定的)
for i := to RzCheckTree1.Items.Count - do
begin
if RzCheckTree1.Items[i].StateIndex = then
begin
//VarToStr(RzCheckTree1.Items[i].Index); //读取节点标识序号
//RzCheckTree1.Items[i].Text; // 读取节点值
Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
end; // 另一种判断方式
// if RzCheckTree1.ItemState[i] = csChecked then
// begin
// Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
// end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//展开全部节点
RzCheckTree1.FullExpand;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
//关闭全部节点
RzCheckTree1.FullCollapse;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
i: Integer;
begin
//全部选择
//StateIndex 1:unchecked(未选择) 2:checked(选择) 3:indeterminate(不确定的)
for i := to RzCheckTree1.Items.Count - do
begin
RzCheckTree1.Items[i].StateIndex := ;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
i: Integer;
begin
//全部取消选择
//StateIndex 1:unchecked(未选择) 2:checked(选择) 3:indeterminate(不确定的)
for i := to RzCheckTree1.Items.Count - do
begin
RzCheckTree1.Items[i].StateIndex := ;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
i: Integer;
begin
//反选
//StateIndex 1:unchecked(未选择) 2:checked(选择) 3:indeterminate(不确定的)
for i := to RzCheckTree1.Items.Count - do
begin
if RzCheckTree1.Items[i].StateIndex = then
RzCheckTree1.Items[i].StateIndex :=
else
RzCheckTree1.Items[i].StateIndex := ;
end;
end;
procedure TForm1.Button7Click(Sender: TObject);
var
i: Integer;
begin
//读取全部父节点
for i := to RzCheckTree1.Items.Count - do
begin
if RzCheckTree1.Items[i].Level = then
Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
end;
end;
procedure TForm1.Button8Click(Sender: TObject);
var
i: Integer;
begin
//读取全部第二级子节点
for i := to RzCheckTree1.Items.Count - do
begin
if RzCheckTree1.Items[i].Level = then
Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
end;
end;

RzCheckTree基本使用的更多相关文章

  1. 根据数据库结构生成RzCheckTree

    现在大多数的方法是采用递归,但这种操作会频繁的去select数据库,降低了执行效率,稍微改动一些,效果会好不少,这里介绍一种方法,即一次性select出所有数据,然后按照ParentID排序,逐条添加 ...

  2. Delphi - 手把手教你基于D7+Access常用管理系统架构的设计与实现 (更新中)

    前言 从事软件开发工作好多年了,学的越深入越觉得自己无知,所以还是要对知识保持敬畏之心,活到老,学到老! 健身和代码一样都不能少,身体是革命的本钱,特别是我们这种高危工种,所以小伙伴们运动起来!有没有 ...

随机推荐

  1. 仿迅雷播放器教程 -- 十年经验大牛对MFC的认识 (7)

    由于上一个教程做界面用的是MFC,所以这里不得不说一下MFC的历史,请看正文:   原文链接:http://blog.csdn.net/sunhui/article/details/319551 作者 ...

  2. post请求参数设置

    控制器参数有[FromBody]修饰参数这么传: 控制器没有[FromBody]修饰参数这么传:

  3. vue编程式路由实现新窗口打开

    一. 标签实现新窗口打开: 官方文档中说 v-link 指令被 组件指令替代,且 不支持 target=”_blank” 属性,如果需要打开一个新窗口必须要用标签,但事实上vue2版本的 是支持 ta ...

  4. 10.18正式开发stark组件*(三)

    2018-10-18 19:15:54 等这个stark组件做完了再上传到github上面,然后再整理博客!这就到周末啦! 因为models导入的时候出现bug,所以只有源码没有测试数据! 源码都有注 ...

  5. Jwt 中 token应该存储到哪里?

    关于 token 的存储问题 JWT: csrf 攻击无法获取第三方的 cookie,而是直接使用 cookie进行查询的时候会自动携带 cookie. xss攻击通过代码注入可以获取 cookie. ...

  6. 网络通信协议三之TCP/IP模型详解

    TCP/IP模型 注:PDU:Protocol Date Unit:表示对等层之间传递的数据单位 TCP:Transmission Control Protocol:传输控制协议 UDP:User D ...

  7. Ajax框架---dwr的用法

    通常使用Ajax时用的都是jQuery框架,现在公司的框架里用的都是dwr.我觉得dwr和jQuery中的ajax用法差不多,看起来也很像. 一.简介 百度百科上对dwr的描述: DWR采取了一个类似 ...

  8. 浏览器下载Excel,直接打开显示乱码...

    情景: 浏览器中点击下载文件有两个选项:[打开][下载] [打开]之后,提示["文件.xlsx"的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是 ...

  9. css学习_css写的位置

    !!!拿到一个页面后应该先写结构再写样式 结构由大到小,由外到里 样式最好按顺序加 position  .float . 颜色  背景  字体 等... 1.行内(内联)样式 2.内部样式表(按道理可 ...

  10. nginx-upstream-bio/nio/netty-zuul2-apigateway-openresty-orange-lua-docker

    upstream_addr等到走了一些弯路,才发现nginx的upstream本来就有一个upstream_addr的模块,一下子我觉得找到了方向,不过看这个变量的说明,发现它主要用在记录log上面, ...