procedure TPublicClass.TreeViewAddT(MFieldStr, DFieldStr, TableNameValue: String; Sender: TTreeView; ImageValue: TImageList); var PNode , CNode : TTreeNode; I : Integer; begin Sender.Items.Clear; Sender.Images := ImageValue; With DataModuleFrm.Temp1ADOQuery do begin if Active then Active := False; SQL.Clear; SQL.Add('Select Distinct ' + MFieldStr + ' from ' + TableNameValue); Prepared; Open; First; While Not Eof do begin PNode := Sender.Items.AddChild(Nil,Trim(FieldByName(MFieldStr).AsString)); PNode.ImageIndex := 0; if PNode.Level = 1 then begin PNode.ImageIndex := 2; Pnode.StateIndex := 4; end; {} Next; end; end; With DataModuleFrm.LSB_ADOQuery do begin Sender.SetFocus; For I := Sender.Items.Count -1 DownTo 0 do begin PNode := TTreeNode.Create(Nil); PNode := Sender.Items[I]; if Active then Active := False; SQL.Clear; SQL.Add('Select ' + DFieldStr + ' from ' + TableNameValue + ' Where ' + MFieldStr + ' = ' + #39 + Sender.Items[I].Text + #39); Prepared; Open; First; While Not Eof do begin CNode := Sender.Items.AddChild(PNode,Trim(FieldByName(DFieldStr).AsString)); CNode.ImageIndex := 1; if PNode.Level = 1 then begin PNode.ImageIndex := 2; Pnode.StateIndex := 4; end;{} Next; end; end; end; end;参数你自己添去。---------------- 沉沦中..........
TableNameValue: String; Sender: TTreeView; ImageValue: TImageList);
var
PNode , CNode : TTreeNode;
I : Integer;
begin
Sender.Items.Clear;
Sender.Images := ImageValue;
With DataModuleFrm.Temp1ADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select Distinct ' + MFieldStr + ' from ' + TableNameValue);
Prepared;
Open;
First;
While Not Eof do
begin
PNode := Sender.Items.AddChild(Nil,Trim(FieldByName(MFieldStr).AsString));
PNode.ImageIndex := 0;
if PNode.Level = 1 then
begin
PNode.ImageIndex := 2;
Pnode.StateIndex := 4;
end; {}
Next;
end;
end;
With DataModuleFrm.LSB_ADOQuery do
begin
Sender.SetFocus;
For I := Sender.Items.Count -1 DownTo 0 do
begin
PNode := TTreeNode.Create(Nil);
PNode := Sender.Items[I];
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select ' + DFieldStr + ' from ' + TableNameValue + ' Where ' +
MFieldStr + ' = ' + #39 + Sender.Items[I].Text + #39);
Prepared;
Open;
First;
While Not Eof do
begin
CNode := Sender.Items.AddChild(PNode,Trim(FieldByName(DFieldStr).AsString));
CNode.ImageIndex := 1;
if PNode.Level = 1 then
begin
PNode.ImageIndex := 2;
Pnode.StateIndex := 4;
end;{}
Next;
end;
end;
end;
end;参数你自己添去。----------------
沉沦中..........