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.