请帮我动态填充SQL数据库中的树视图。我是delphi的新手
欢迎一步一步的流程。我有两种表格格式,如下图所示,我想相应地填充数据库中的树视图。我也搜索了其他资源网站,但没有找到解决方案,我正在寻找。
我被困住了。请帮帮我们.... 很多人都提前感谢。
procedure TForm1.Button1Click(Sender: TObject);
var
// node : TTreeList;
i: Integer;
MyTreeNode1,MyTreeNode2 : TTreeNode;
begin
with TreeList1.Items do
begin
Clear;
MyTreeNode1 := Add(nil, 'Table');
ADOTable1.First;
while ADOTable1 do
begin
AddChild(MyTreeNode1,'B') ;
AddChild(MyTreeNode1,'c');
Next;
end;
end;
end;
答案 0 :(得分:3)
切换到TADOQuery
然后尝试这样的事情:
procedure TForm1.Button1Click(Sender: TObject);
var
CurrentDeptID, RecordDeptID: Integer;
RootNode, DeptNode: TTreeNode;
begin
CurrentDeptID := 0;
TreeList1.Items.Clear;
RootNode := TreeList1.Items.Add(nil, 'Departments');
DeptNode := nil;
ADOQuery1.SQL.Text := 'SELECT sd.DeptID, sd.Name, d.Dept FROM SubDepartments sd INNER JOIN Departments d ON (sd.DeptID = d.DeptID) ORDER BY d.Dept, sd.Name';
ADOQuery1.Open;
try
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
RecordDeptID := ADOQuery1.FieldByName('DeptID').AsInteger;
if (DeptNode = nil) or (RecordDeptID <> CurrentDeptID) then
begin
DeptNode := TreeList1.Items.AddChild(RootNode, ADOQuery1.FieldByName('Dept').AsString);
CurrentDeptID := RecordDeptID;
end;
TreeList1.Items.AddChild(DeptNode, ADOQuery1.FieldByName('Name').AsString);
ADOQuery1.Next;
end;
finally
ADOQuery1.Close;
end;
end;