我最毕业设计,要求用Delphi,所以要现学啦。特此有一个关于TreeView的问题,我想动态的将数据库中的一个表的内容做成一个树状结构,可是总是无法做到,现将程序列出,请大哥们看看有没有什么错的地方。
procedure TForm22.FormCreate(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from cyjldw');
Open;
end;
Query1.First;
while not Query1.Eof do
begin
node2:=Treeview1.Items.Add(node1,Query1.FieldByName('计量单位').AsString);
//这句话好像有问题,我希望在程序中能够实现第一节点是“计量单位”四个字,第二节点是具体的计量单位,可是效果却非我所愿。请指教,多谢!
with Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from cyjldw where 计量单位=:a ');
ParamByName('a').AsString:=Query1.FieldByName('计量单位').AsString;
Open;
end;
Query2.First;
while not Query2.Eof do
begin
node2.ImageIndex:=1;
TreeView1.Items.AddChildFirst(node2,Query2.fieldByName('计量单位').AsString);
Query2.Next;
end;
Query1.Next;
end;
若是大家有更好的这方面的代码,请赐教!
procedure TForm22.FormCreate(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from cyjldw');
Open;
end;
Query1.First;
while not Query1.Eof do
begin
node2:=Treeview1.Items.Add(node1,Query1.FieldByName('计量单位').AsString);
//这句话好像有问题,我希望在程序中能够实现第一节点是“计量单位”四个字,第二节点是具体的计量单位,可是效果却非我所愿。请指教,多谢!
with Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from cyjldw where 计量单位=:a ');
ParamByName('a').AsString:=Query1.FieldByName('计量单位').AsString;
Open;
end;
Query2.First;
while not Query2.Eof do
begin
node2.ImageIndex:=1;
TreeView1.Items.AddChildFirst(node2,Query2.fieldByName('计量单位').AsString);
Query2.Next;
end;
Query1.Next;
end;
若是大家有更好的这方面的代码,请赐教!
a
123
b
456
iii用TreeView1.LoadFromFile(路径+'a.txt');这只是一种方法。。我觉得简单。