刚刚试验成功,分析一下。
运行和数据包截图如下
源文件如下:==============
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
ADOC1: TADOConnection;
ADO_sort: TADOTable;
ADO_content: TADOTable;
procedure FormCreate(Sender: TObject);
procedure Treerefresh();
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//==========初始数据========
procedure TForm1.FormCreate(Sender: TObject);
begin
Treerefresh();
end;
//========刷新树形菜单=========
procedure TForm1.Treerefresh();
var
RootList:TStringList;
TmpNode:TTreeNode;
Pstr:^string;
I:integer;
begin
RootList:=TStringList.Create;
ADO_sort.close;
ADO_sort.Open;
while not ADO_sort.Eof do
begin
RootList.Append(TRim(ADO_sort.FieldValues['title']));
ADO_sort.Next;
end;
new(pstr);
Treeview1.Items.clear;
Treeview1.Items.BeginUpdate;
ADO_content.close;
ADO_content.Open;
ADO_content.Filtered:=false;
for I := 0 to RootList.Count - 1 do
begin
TmpNode:= Treeview1.Items.AddObject(nil,RootList[I],pstr);
with ADO_content do
begin
filtered:=false;
filter:='sort='+''''+RootList[I]+'''';
filtered:=true;
first;
while not eof do
begin
treeview1.Items.AddChildObject(TmpNode,Fieldvalues['detail'],pstr);
next;
end;
end;
end;
RootList.Free;
Treeview1.Items.EndUpdate;
ADO_sort.close;
ADO_content.close;
end;
//====all end====
end.
其他数据截图如下:==============
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.050992965698242 seconds