type TForm6 = class(TForm) DBGrid1: TDBGrid; tv: TTreeView; procedure tvClick(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; procedure MyCreateSubNodes(tv:TTreeview);
var Form6: TForm6;
implementation uses dm2,db,ADODB;
{$R *.dfm} procedure MyCreateSubNodes(tv:TTreeview); var q1,q2:tadoquery; i:integer; begin
q1:=tadoquery.Create(nil); q2:=tadoquery.Create(nil); q1.Connection:=dm.ADOConnection1; q2.Connection:=dm.ADOConnection1; q1.SQL.Add('select * from one'); q2.SQL.Add('select * from two'); q1.Open; q2.Open; q1.First; for i:=0 to q1.RecordCount-1 do begin tv.Items.AddChild(tv.Selected,q1.FieldValues['FirstName']); //----加入二级目录开始 while not q2.Eof do begin if q2.FieldValues['firstID']=q1.FieldValues['ID'] then tv.Items.AddChild(tv.TopItem,q2.FieldValues['secondname']); q2.Next; end; q1.Next; end; q1.Close; q2.Close; q1.Free; q2.Free; tv.TopItem.Expanded:=true; end;
procedure Tform6.tvClick(Sender: TObject); begin with dm.ADOQuery1 do begin close; sql.Clear; sql.Text:='select * from content where secon_dname='+quotedstr(tv.Selected.Text); open; end; end;
procedure Tform6.FormShow(Sender: TObject); begin MyCreateSubNodes(tv); dm.ADOQuery1.SQL.Text:='select * from content'; dm.ADOQuery1.Open; end;