找一控件及用法 每一层一个表就没有:不过把 树和内容 分开两个表,用dxexpress dbtree 就可以根据第一个表显示整个tree,就像资源管理器一样。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 控件 ExpressDBTree自己带有例子 我看了dexevpress 的那个样例,他可以显示很多层,但是他就一个表。把主表明细全放在一个表了。 这个不需要另外找控件吧,数据不在一个表里,你从三个表union出一个递归结构的视图不就可以了。 procedure TForm1.Button1Click(Sender: TObject);var vTreeNode1: TTreeNode; vTreeNode2: TTreeNode; vTreeNode3: TTreeNode;begin Table1.First; while not Table1.Eof do begin vTreeNode1 := TreeView1.Items.Add(TreeView1.TopItem, Table1.FieldByName('name').AsString); vTreeNode1.ImageIndex := Table1.FieldByName('image').AsInteger; Table2.Filtered := False; Table2.Filter := Format('bh=%s', [QuotedStr(Table1.FieldByName('bh').AsString)]); Table2.Filtered := True; Table2.First; while not Table2.Eof do begin vTreeNode2 := TreeView1.Items.AddChild(vTreeNode1, Table2.FieldByName('address').AsString); vTreeNode2.ImageIndex := Table2.FieldByName('image').AsInteger; Table3.Filtered := False; Table3.Filter := Format('cbh=%s', [QuotedStr(Table2.FieldByName('cbh').AsString)]); Table3.Filtered := True; Table3.First; while not Table3.Eof do begin vTreeNode3 := TreeView1.Items.AddChild(vTreeNode2, Table3.FieldByName('age').AsString); vTreeNode3.ImageIndex := Table3.FieldByName('image').AsInteger; Table3.Next; end; Table2.Next; end; Table1.Next; end;end; class TKQuery not found ..这个是缺少控件吗?在哪能找到? 请问如何用代码实现winamp的播放时的波纹效果? 请问"=B0=A8=A4=C7=B7j=B4M"是什么字符表现格式?? 求DELPHI三层结构有安全认证的例子,分不够再另开帖加 讨论。。。 请教一个MIS(MRP)系统的主生产计划问题! 如何往Word中插入表格? 为了DELPHI的未来,散分 一个简单的问题---怎样对TTable中的数据进行倒排序? 如何倒入成批数据? 一个关于dbgrid焦点的问题????急呀,有高分相送 : ) 高手请进--->怎么用SQl语句把第n条记录查询出来?
var
vTreeNode1: TTreeNode;
vTreeNode2: TTreeNode;
vTreeNode3: TTreeNode;
begin
Table1.First;
while not Table1.Eof do begin
vTreeNode1 := TreeView1.Items.Add(TreeView1.TopItem, Table1.FieldByName('name').AsString);
vTreeNode1.ImageIndex := Table1.FieldByName('image').AsInteger;
Table2.Filtered := False;
Table2.Filter := Format('bh=%s', [QuotedStr(Table1.FieldByName('bh').AsString)]);
Table2.Filtered := True;
Table2.First;
while not Table2.Eof do begin
vTreeNode2 := TreeView1.Items.AddChild(vTreeNode1, Table2.FieldByName('address').AsString);
vTreeNode2.ImageIndex := Table2.FieldByName('image').AsInteger;
Table3.Filtered := False;
Table3.Filter := Format('cbh=%s', [QuotedStr(Table2.FieldByName('cbh').AsString)]);
Table3.Filtered := True;
Table3.First;
while not Table3.Eof do begin
vTreeNode3 := TreeView1.Items.AddChild(vTreeNode2, Table3.FieldByName('age').AsString);
vTreeNode3.ImageIndex := Table3.FieldByName('image').AsInteger;
Table3.Next;
end;
Table2.Next;
end;
Table1.Next;
end;
end;