![]() |
String Grid
Hallo Alle Zusammen
Ich hab ein String Grid mit mehreren Zeilen. Nun aber will ich eine Zeile in der Mitte löschen. Wie könnte ich das machen? Eine vordefinierte Prozedur gibt es so weit wie ich gesehen habe nicht. Aber hab auch keine andere Idee wie ich es machen könnte. Habt ihr eine? :pale: MfG Moyyer |
Re: String Grid
Ein Hallöle von
![]() es ist ganz einfach. Es müssen doch nur die Zeilen unterhalb der zu löschenden Zeile um 1 nach oben verschoben werden und danach die Zeilenanzahl um ein veringert werden.
Delphi-Quellcode:
http://www.delphipraxis.net/images/common/divider.jpg
Var R, C: Integer;
Zeile: Integer; {zu löschende Zeile} For R := Zeile to StringGrid1.RowCount - 2 do For C := 0 to StringGrid1.ColCount - 1 do StringGrid1.Cells[C, R] := StringGrid1.Cells[C, R + 1]; StringGrid1.RowCount := StringGrid1.RowCount - 1; ![]() ![]() ![]() |
Re: String Grid
Hallo,
ich in meiner Codekiste folgendes gefunden:
Delphi-Quellcode:
Der Unterschied zu himitsu's Vorschlag ist: Dadurch, dass hier die Assign Methode der Row's verwendet wird, werden auch evt. in der Objects Eigenschaft enthaltene Objektzeiger mit genommen.
procedure DeleteRow(yourStringGrid: TStringGrid; ARow: Integer);
var i: Integer; begin with yourStringGrid do begin for i := ARow to RowCount-2 do Rows[i].Assign(Rows[i+1]); RowCount := RowCount - 1 end; end; Könnte unter Umständen ziemlich wichtig sein. |
Re: String Grid
Jo Danke erstmal. Kann es aber erst heute abend testen.
P.S. Sieht aber gut aus MfG Moyyer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz