Hallo,
mit
Delphi-Quellcode:
// Quelle: [URL="http://stackoverflow.com/questions/16351109/how-do-i-delete-a-tstringgrid-row"]http://stackoverflow.com/questions/16351109/how-do-i-delete-a-tstringgrid-row[/URL]
procedure DeleteRow(Grid: TStringGrid; ARow: Integer);
var
i: Integer;
begin
for i := ARow
to Grid.RowCount - 2
do
Grid.Rows[i].Assign(Grid.Rows[i + 1]);
Grid.RowCount := Grid.RowCount - 1;
end;
bekomme ich die Zeilen wie gewünscht gelöscht.
Auch diesen Trick habe ich gefunden:
Delphi-Quellcode:
type
THackGrid=class(TCustomGrid);
[...]
THackGrid(strngrd1).DeleteRow(zeile);
Nur scheint der anstatt wirklich zu löschen die entsprechenden Zeilen nur aus dem definierten Bereich der Tabelle zuverschieben.
Wenn
z.B. erst 6 ist, dann zwei Zeilen damit gelöscht werden und man dann
auf 8 erhöht, dann tauchen dort die gelöschten Inhalte wieder auf
Aber, warum ist bei dem einfachen
TStringGrid
das ich auf das Formular ziehe, das Löschen gesperrt.
Ich habe keine Option zum Entsperren gefunden. Aber was nützt eine Option die nicht nutzbar ist?
Gruß Heiko