Wie sieht denn bei dir die Datenstruktur aus, in die du die Daten schreibst?
Hier noch wie wir das machen:
Delphi-Quellcode:
procedure TfraGLOB_VSTAnalyseGrid.LoadVST;
var
GridNodeData : PGridTreeData;
newGridNode : PVirtualNode;
i : integer;
begin
FDataSource.DataSet.Open;
FDataSource.DataSet.First;
vstAnalyse.Clear;
vstAnalyse.BeginUpdate;
while not FDataSource.DataSet.Eof do
begin
newGridNode := vstAnalyse.AddChild(nil);
GridNodeData := vstAnalyse.GetNodeData(newGridNode);
vstAnalyse.ValidateNode(newGridNode, false);
GridNodeData^.Columns := TStringList.Create;
for i := 0 to FDataSource.DataSet.Fields.Count - 1 do
GridNodeData^.Columns.Add(FDataSource.DataSet.Fields[i].AsString);
FDataSource.DataSet.Next;
end;
vstAnalyse.EndUpdate;
SetHeaders;
SetColumnWidth;
newGridNode := vstAnalyse.GetFirst;
if newGridNode <> nil then
begin
vstAnalyse.Selected[newGridNode] := true;
end;
SetControls;
end;