如何根据'ID号、父ID号、类别'的情况下生成TreeView? Access表中有ID号、父ID号、类别'这三个字段,具有相同父ID号的一定归属于同一上层,而父ID号为0的一定是根级的直接下属。'类别'字段内容为'层'的说明是树枝而不是页。如何根据这样的表创建TreeView?谢谢指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 思路:做个递归过程建立树,大概如下(代码是示范性质,没有经过编译,根据你的情况进行修改)://生成标识为id的记录及其下级记录的树枝//parent为新生成的树枝的根//使用时你首先在TreeView中创建一个树根,调用这个过程procedure buildTree(ParentID: integer; ParentNode: TTreeNode = nil);var aqTemp: TAdoQuery; tn: TTreeNode;begin aqTemp := TAdoquery.Create(); aqTemp.Connection := MyConnection; aqTemp.SQL.Add('select * from ATable where ParentID = ' + IntToStr(ParendID)); aqTemp.Open(); while not aqTemp.Eof do begin tn := TreeView.Items.AddChild(ParentID, aqTemp.FieldByName('id').AsString); buildTree(aqTemp.FieldByName('id').AsInteger, tn); aqTemp.Next(); end; aqTemp.Free();end; 直接用dbtreeview吧,在devexpress、jvcl、raize等控件中都有,在www.delphifans.com有下 得到时间字符串(要到秒) OneView1.0哪位熟悉?怎么只看到DEMO版本的?有没有其他版本的?来者有分!!!!!! 函数后的assembler是什么意思? Office 2000 图标库 请教一个关于dbgrid显示超长字符串的问题,急 关于提问的想法,同意的请跟贴 Report style 的TListView中如何在column中画图 一控件问题,请进! 请教高手-主从关系的报表,详细请进入(回答者有分) 高分求教:"变速齿轮"的原理? 金额显示格式 请问大家下怎么用delphi 获取窗体内部坐标例子
做个递归过程建立树,大概如下(代码是示范性质,没有经过编译,根据你的情况进行修改)://生成标识为id的记录及其下级记录的树枝
//parent为新生成的树枝的根
//使用时你首先在TreeView中创建一个树根,调用这个过程
procedure buildTree(ParentID: integer; ParentNode: TTreeNode = nil);
var
aqTemp: TAdoQuery;
tn: TTreeNode;
begin
aqTemp := TAdoquery.Create();
aqTemp.Connection := MyConnection;
aqTemp.SQL.Add('select * from ATable where ParentID = ' + IntToStr(ParendID));
aqTemp.Open();
while not aqTemp.Eof do
begin
tn := TreeView.Items.AddChild(ParentID, aqTemp.FieldByName('id').AsString);
buildTree(aqTemp.FieldByName('id').AsInteger, tn);
aqTemp.Next();
end;
aqTemp.Free();
end;