Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Spalte aus Stringgrid löschen
D. Annies - Sa 12.10.13 07:44
Titel: Spalte aus Stringgrid löschen
Hi, Delpher,
Ich habe in D6 ein Stringgrid, welches mit Inhalten gefüllt ist - zumeist jedenfalls, denn
es befinden sich auch als 4. und als 9. Spalte leere Spalten darunter. Sie haben zwar
einen Tabellenkopfinhalt, aber alle Zellen darunter sind leer.
Wie kann man aus einem Stringgrid diese leeren Spalten komplett löschen?
Danke für Ideen,
Detlef
Delete - Sa 12.10.13 07:52
Die Anzahl der Spalten in einem StringGrid wird durch das Property ColCount angegeben. Wenn du ColCount also verminderst, reduzierst du damit auch die Anzahl deiner Spalten. Da sich die zu löschenden Spalten nicht am Ende deines StringGrid befinden, empfieht es sich, das StringGrid vor dem Befüllen entsprechend einzurichten.
WasWeißDennIch - Sa 12.10.13 10:31
Ohne groß nachgedacht zu haben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure DeleteColumn(Grid: TStringGrid; ColIndex: integer); var i: integer; begin Assert(Assigned(Grid), 'Kein gültiges StringGrid übergeben'); if (ColIndex < 0) or (ColIndex >= Grid.ColCount) then raise Exception.CreateFmt('Ungültiger Spaltenindex: %d', [ColIndex]); for i := ColIndex to Grid.ColCount - 2 do begin Grid.Cols[i].BeginUpdate; try Grid.Cols[i].Assign(Grid.Cols[i + 1]); finally Grid.Cols[i].EndUpdate; end; end; Grid.ColCount := Grid.ColCount - 1; end; |
jaenicke - Sa 12.10.13 10:56
Sinnvoller ist das StringGrid komplett zu löschen und die Daten aus der zugrunde liegenden Datenschicht neu zu lesen...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!