Hai richard_boderich,
Zitat von
richard_boderich:
...ich habe in der delphi hilfe gesucht, habe update aber nur im zusammenhang
mit kompletten grids gefunden,...
TStringGrid.Update verwende ich ja auch nicht
Diese Methode zwingt das Grid sich neu zu zeichnen.
Normalerweise wird das TStringGrid jedesmal wenn Du den Inhalt einer Celle änderst komplett neu gezeichnet.
TStringGrid.Rows.BeginUpdate verhindert das neu Zeichnen des Grids solange bis
TStringGrid.Rows.EndUpdate aufgerufen wird.
Du sagst quasi: "Hallo StringGrid, jetzt kommen Daten aber ich möchte nicht das du sie darstellst bis ich es dir sage"
Und da das Zeichen sehr viel Zeit braucht bist Du so einfach schneller. Und für jede Zeile des StringGrids
.BeginUpDate aufrufen geht im vergleich dazu sehr sehr schnell.
BTW: Du kannst bei deinem Code meine Procedure auch noch aufrufen bevor Du deinen beiden anderen StringGrids (als Parameter immer der Name des entsprechenden SG) mit Daten füllst. Dann wird das ganze noch flüssiger.
Also ganz am Anfang deiner Routine:
Delphi-Quellcode:
begin
SGBeginUpdate(Form1.StringGrid4);
SGBeginUpdate(Form1.StringGrid5);
SGBeginUpdate(Form1.StringGrid6);
.
// Jetzt das füllen der drei StringGrids
.
SGEndUpdate(Form1.StringGrid4);
SGEndUpdate(Form1.StringGrid5);
SGEndUpdate(Form1.StringGrid6);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"