用数据库创建无限深度的TreeView树
公告:闪亮网络学院新站开通,本栏停止更新 
日期:2003年6月26日 作者:佚名 人气:482 查看:[大字体 中字体 小字体]  
procedure CreateSubTree(FNodeName: string; Node: TTreeNode = nil);
var
  mLocalName: string;
  TreeNode: TTreeNode;
  Ads_Tmp: TADODataSet;
begin
  ADS_Tmp := TADODataSet.Create(Self);
  ADS_Tmp.Connection := ADOConn;
  with ADS_Tmp do
  begin
    Close;
    CommandText := 'Select * from Type Where ParentID =' + FNodeName;
    Open;
    First;
    while not Eof do
    begin
      mLocalName := FieldbyName('ID').Asstring;
      TreeNode := TreeView.Items.AddChild(Node, FieldByName('Name').AsString);
      CreateSubTree(mLocalName, TreeNode);
      Next;
    end;
  end;
end;