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;
http://www.cnblogs.com/win32pro http://www. 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;
http://www.cnblogs.com/win32pro http://www.
Delphi TRzCheckTree的使用1. 判断状态: if RzCheckTree1.Selected.StateIndex = 2 then //则为选中状态 else if RzCheckTree1.Selected.StateIndex = 1 then //则为未选中状态 else if RzCheckTree1.Selected.StateIndex = 3 then //则为未全选状态 或者 if RzCheckTree1.ItemState[I] = csUnchecked then //为未选中状态 if RzCheckTree1.ItemState[I] = cschecked then //为选中状态 2: 设置 RzCheckTree1.ItemState[I] := csUnchecked //为未选中状态 RzCheckTree1.ItemState[I] := cschecked //为选中状态 权限树的创建 procedure CreatePermissionsTree(DataSet: TADOQuery; Tree: TRzCheckTree; const TableName, aid, aname, quanXian: string); const ID_DEPT = 2; var nLevel: Integer; pNodes: array[0..1023] of TTreeNode; lpid, lpName, s: string; begin if DataSet = nil then Exit; if Tree = nil then Exit; if TableName = '' then Exit; pNodes[0] := nil; Tree.Items.Clear; with DataSet do begin Close; SQL.Clear; s := Format('select * from %s order by %s', [TableName, aid]); SQL.Text := s; Open; if IsEmpty then Exit; First; while not Eof do begin lpid := FindField(aid).AsString; lpName := FindField(aname).AsString; nLevel := Length(lpID) div ID_DEPT; pNodes[nLevel] := Tree.Items.AddChild(pNodes[nLevel - 1], lpName); if FindField('quanxian').AsBoolean then pNodes[nLevel].StateIndex := 2 else pNodes[nLevel].StateIndex := 1; Next; end; end; end;
|