Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Zeile aus StringGrid löschen


Conny Drexler - Sa 19.07.08 12:38
Titel: Zeile aus StringGrid löschen
Hallo zusammen,

ich habe eine ganz normales StringGrid definiert und möchte jetzt eine bestimmte Zeile löschen.

Meine Anweisung dazu lautet:

sg1.Rows[zeile].delete(1);

Wenn das Programm läuft erhalten ich immer eine Fehlermeldung:
"Es können keine Zeilen del Tabellengitter gelöscht oder eingefügt werden"^

Hat jemand eine Idee, was ich falsch mache?


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Delphi) verschoben am Sa 19.07.2008 um 12:42


_frank_ - Sa 19.07.08 12:52

rows bzw. cols ist eine Eigenschaft zum reinen auslesen, löschen einer zeile ist bisschen aufwendiger...man muss die nachfolgenden zeilen nach oben schieben und dann die zeilenanzahl verringern.

so in etwa:


Delphi-Quelltext
1:
2:
3:
for i:=stringgrid1.row+1 to stringgrid1.rowcount-1 do
  stringgrid1.rows[i-1].assign(stringgrid1.rows[i]);
stringgrid1.rowcount:=stringgrid1.rowcount-1;


HTH Frank


Hobby-Programmierer - Sa 19.07.08 22:25

... oder aber so -> http://swissdelphicenter.ch/de/showcode.php?id=460