![]() |
StringGrid komplett löschen
Hallo Delphinarier,
mein StringGrid enthält keine feste Spalten bzw. Zeilen, FixedCols und FixedRows sind also auf 0 gesetzt. Anfangs soll das StringGrid komplett leer sein, also nichts drin stehen. Wie stelle ich das an ? Danke für Eure Mühe. DELPHIEN |
Re: StringGrid komplett löschen
Hi Delphien,
so geht es:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.EmptyButtonClick(Sender: TObject);
var iRow: integer; begin with StringGrid do for iRow := FixedRows to Pred(RowCount) do Rows[iRow].Text := ''; end; |
Re: StringGrid komplett löschen
hallo marabu, danke für Deine Antwort. Es bleibt ein umrahmtes ungefülltes Kästchen stehen.
Das möchte ich auch noch entfernen. |
Re: StringGrid komplett löschen
Zitat:
![]() |
Re: StringGrid komplett löschen
was mich ja mal interessieren würde, wie man WIRKLICH die Zellen löschen kann.
Wenn ich einer stringgrid frisch 500.000 Zeilen per Rowcount zuweise, geht das ohne probleme. Wenn ich aber dann die Stringgrid "lösche" in dem ich allen Zellen Leerstrings zuweise, wird die Stringgrid und der Speicherverbrauch meiner Anwendung riesig ! Ohne dass ich irgendwas getan habe. Ich brauche das, um "On the Fly" Daten in die Stringgrid zu schreiben. Dann kann ich zum Beispiel die Zeilen 200.000 bis 200.020 mit Strings bestücken und anzeigen (weil der Scrollbalken das gerade so verlangt) , aber ich bekomme die Daten nicht wieder raus. Es würde mich also auch mal interesssieren, wie man nun die Daten wirklich entfernt. |
Re: StringGrid komplett löschen
@delphien:setz doch einfach Rowcount auf 2(damit dir fixedrows und so bleiben) lösch die letzte(2.) zeile dann hasts
@stoxx: mach dein Grid mit einer eigenen Scrollbar und als Maxpos bei dieser die Gesamtanzahl der Zeilen, beim Scrollen musst du dann nurnoch die Daten anzeigen zu lassen, die du abhängig von der Position des Scrollbalkens, benötigst. |
Re: StringGrid komplett löschen
Delphi-Quellcode:
@stoxx: mach dein Grid mit einer eigenen Scrollbar und als Maxpos bei dieser die Gesamtanzahl der Zeilen, beim Scrollen musst du dann nurnoch die Daten anzeigen zu lassen, die du abhängig von der Position des Scrollbalkens, benötigst.
So mach ich es jetzt ja auch, aber es ist halt umständlich jedesmal noch eine zusätzliche Scrollbar zu verwenden! Man muss ja dann auch die Größenanpassungen selber vornehmen, wenn der User die Fenstergrößer verändert und ist nicht wirklich Allgemeingültig. |
Re: StringGrid komplett löschen
Zitat:
|
Re: StringGrid komplett löschen
Tja, diese Zelle bekomme ich nur weg, wenn ich GRIDLINEWIDTH auf 0 setze,
aber ob das nun die beste Lösung ist !? :wall: |
Re: StringGrid komplett löschen
Also, nochmal etwas genauer:
FIXEDCOLS und FIXEDROWS sind auf 0 eingestellt, weil ich keine festen Spalten/Zeilen benötige. ROWCOUNT ist 1, läßt sich ja nicht ändern, zumindest nicht im OI. Die Selektion (focus) habe ich abgestellt. Es bleibt aber eine Zelle stehen, wahrscheinlich aufgrund von ROWCOUNT=1. Es soll aber nichts zu sehen sein, halt wie eine leere ListBox oder sonstwas. Gruss DELPHIEN |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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