Eventuell würde es auch einiges bringen für jede Zeile und Spalte des SG vor dem füllen ein BeginUpDate zu machen und nach dem Füllen ein EndUpdate:
Delphi-Quellcode:
procedure SGBeginUpdate (sg : TStringGrid);
var
ndx : Integer;
begin
for ndx := 0 to sg.RowCount-1 do
begin
sg.Rows[ndx].BeginUpdate;
end;
for ndx := 0 to sg.ColCount -1 do
begin
sg.Cols[ndx].BeginUpdate;
end;
end;
procedure SGEndUpdate (sg : TStringGrid);
var
ndx : Integer;
begin
for ndx := 0 to sg.RowCount-1 do
begin
sg.Rows[ndx].EndUpdate;
end;
for ndx := 0 to sg.ColCount -1 do
begin
sg.Cols[ndx].EndUpdate;
end;
end;
.
.
grd_asset.Rows:= DM.ZQ.RecordCounte + 1; // Zeilenanzahl
while not DM.ZQ.Eof do
begin
c:=c+1;
s:= DM.ZQ.Fieldbyname('DATA').asString;
templist.DelimitedText:=s;
if c = 1 then
begin
grd_asset.Cols:=templist.Count; // Spaltenanzahl
SGBeginUpDate (grd_asset); // BeginUpdate für das SG
end;
for i:=1 to templist.Count do
grd_asset.Cell[i,c]:=templist.Strings[i-1];
// end;
DM.ZQ.Next;
end;
SGEndUpDate (grd_asset); // EndUpdate für das SG
.
.
Vorher müssen natürlich die Spalten und Zeilenanzahlen bekannt sein.
Stephan B.
"Lasst den Gänsen ihre Füßchen"