RzCheckTree基本使用

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  //循环读取勾选节点代码及内容
  //StateIndex 1:unchecked(未选择) 2:checked(选择)  3:indeterminate(不确定的)
  for i := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    if RzCheckTree1.Items[i].StateIndex = 2 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 := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    RzCheckTree1.Items[i].StateIndex := 2;
  end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
  i: Integer;
begin
  //全部取消选择
  //StateIndex 1:unchecked(未选择) 2:checked(选择)  3:indeterminate(不确定的)
  for i := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    RzCheckTree1.Items[i].StateIndex := 1;
  end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
  i: Integer;
begin
  //反选
  //StateIndex 1:unchecked(未选择) 2:checked(选择)  3:indeterminate(不确定的)
  for i := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    if RzCheckTree1.Items[i].StateIndex = 1 then
      RzCheckTree1.Items[i].StateIndex := 2
    else
      RzCheckTree1.Items[i].StateIndex := 1;
  end;
end;
procedure TForm1.Button7Click(Sender: TObject);
var
  i: Integer;
begin
  //读取全部父节点
  for i := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    if RzCheckTree1.Items[i].Level = 0 then
      Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
  end;
end;
procedure TForm1.Button8Click(Sender: TObject);
var
  i: Integer;
begin
  //读取全部第二级子节点
  for i := 0 to RzCheckTree1.Items.Count - 1 do
  begin
    if RzCheckTree1.Items[i].Level = 1 then
      Memo1.Lines.Add(RzCheckTree1.Items[i].Text);
  end;
end;
时间: 2024-10-07 06:34:21

RzCheckTree基本使用的相关文章

根据数据库结构生成RzCheckTree

现在大多数的方法是采用递归,但这种操作会频繁的去select数据库,降低了执行效率,稍微改动一些,效果会好不少,这里介绍一种方法,即一次性select出所有数据,然后按照ParentID排序,逐条添加到TreeView,添加前,先遍历TreeView,查找他的上一级节点,遍历Treeview可比select数据快啊,下面看代码: 数据表结构,最顶级parentid值我用的是-1,大家也可以用其他值,但要保证最顶级parentid值最小,层次越深, procedure TUIOperate.Fil