Thema: Delphi StringGrid refreshen

Einzelnen Beitrag anzeigen

raiguen
(Gast)

n/a Beiträge
 
#2

Re: StringGrid refreshen

  Alt 5. Okt 2006, 23:28
Moin

Mal so aus der Hüfte geschossen bzw ungetestet würde ich die Routine etwa so schreiben:
Delphi-Quellcode:
//TabSheet4 - Daten auslesen und in Stringgrid schreiben
procedure TForm1.GetDataSmall;
var
  max: integer;
  i:integer;
  Zeile: integer;
begin
  //Querry an die DB
  db.Query ('select * from kunden');
  //Anzahl der Datensätze zählen
  max := db.RowCount;
  
  //Zeilenanzahl für das StringGrid1 anhand der Datensätze der Query anpassen
  StringGrid1.RowCount := db.RowCount;

  //Ausgabe der Datensätze im Stringgrid
  for I := 0 to db.RowCount - 1 do
  begin
    StringGrid1.Cells[0, i] := db.Results[i][0];
    StringGrid1.Cells[1, i] := db.Results[i][1];
    StringGrid1.Cells[2, i] := db.Results[i][2];
  end;
end;
Irgendwie beschleicht mich das Gefühl, dass mit deiner Version die Datensätze immer in die letzte Zeile geschrieben werden!?

Ähm, noch ein Tipp für's Löschen aller Zeilen in einem StringGrid:
Delphi-Quellcode:
//StringGrid1 Leeren
procedure TForm1.ClearStringGrid1;
var
  irow : Integer;
begin
  with StringGrid1 do
    for irow := 0 to RowCount -1 do
      Rows[iRow].Clear;
end;
  Mit Zitat antworten Zitat