Thema: Delphi FMX: Stringgrid

Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX: Stringgrid

  Alt 29. Jun 2015, 22:09
Das kannst Du wie in der VCL machen, z.B. so:

Delphi-Quellcode:
Procedure DeleteRowAt (var sg:TStringGrid; F: LongInt);
var
  R, C: LongInt;
begin
  if sg.RowCount > 1 then begin

    if F > sg.Rowcount-1 then exit;

    if F <> sg.RowCount-1 then begin
      sg.BeginUpdate;
      for R := F to sg.RowCount-2 do begin
        for C := 0 to sg.ColumnCount-1 do begin
          sg.cells[C,R] := sg.Cells[C,R+1];
        end;
      end;
      sg.EndUpdate;
    end;

    sg.Rowcount := sg.RowCount - 1;

  end else begin
    sg.RowCount := 0;
  end;
end;
Generell sollte man aber seine Daten nicht im StringGrid verwalten. Auch das TStringrid dient i.d.R. nur zur Anzeige von Daten. Gut, wenn man es in einem Dialog verwendet, wo der Anwender ein paar Zeilen eingibt, kann man das natürlich für diese temporäre Aufgabe machen.

Zur Anzeige eignet sich noch besser das TGrid, das hat das schöne "OnGetValue"-Ereignis wo man dem Grid einfach sagt, welche Daten es anzeigen soll. Seine Daten hat man dann z.B. in einer Stringlist oder eben in einer richtigen Datenbank.

Geändert von Harry Stahl (29. Jun 2015 um 22:13 Uhr)
  Mit Zitat antworten Zitat