Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid komplett löschen (https://www.delphipraxis.net/58516-stringgrid-komplett-loeschen.html)

delphien 8. Dez 2005 10:18


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

marabu 8. Dez 2005 10:25

Re: StringGrid komplett löschen
 
Hi Delphien,

so geht es:

Delphi-Quellcode:
procedure TDemoForm.EmptyButtonClick(Sender: TObject);
var
  iRow: integer;
begin
  with StringGrid do
    for iRow := FixedRows to Pred(RowCount) do
      Rows[iRow].Text := '';
end;
Grüße vom marabu

delphien 8. Dez 2005 12:10

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.

shmia 8. Dez 2005 12:30

Re: StringGrid komplett löschen
 
Zitat:

Zitat von delphien
Es bleibt ein umrahmtes ungefülltes Kästchen stehen.
Das möchte ich auch noch entfernen.

http://www.delphipraxis.net/internal...ct.php?t=38552

stoxx 8. Dez 2005 14:03

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.

Angel4585 8. Dez 2005 14:52

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.

stoxx 8. Dez 2005 15:04

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.

delphien 8. Dez 2005 16:55

Re: StringGrid komplett löschen
 
Zitat:

Zitat von shmia
Zitat:

Zitat von delphien
Es bleibt ein umrahmtes ungefülltes Kästchen stehen.
Das möchte ich auch noch entfernen.

http://www.delphipraxis.net/internal...ct.php?t=38552

Das habe ich schon gemacht, aber ein Rahmen bleibt trotzdem stehen. :wall:

delphien 10. Dez 2005 09:33

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:

delphien 10. Dez 2005 11:22

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 15:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz