Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi stringGrid --> Zeilen löschen (https://www.delphipraxis.net/43924-stringgrid-zeilen-loeschen.html)

Nisbo 10. Apr 2005 17:27


stringGrid --> Zeilen löschen
 
Wie die überschrift schon sagt, genau das bekomme ich im Moment nicht hin

übwer die OH habe ich

StringGrid1.Free;

und

StringGrid1.Destroy;

gefunden aber das tut es nicht wirklich sondern verursacht nen Zugriffsfehler beim Programmstart sowie ein nichtdasein von stringgrid

Wie bekomme ich es jetzt hin in einem StringGrid eine Zeile bzw alle Zeilen zu löschen ?

gordon freeman 10. Apr 2005 17:36

Re: stringGrid --> Zeilen löschen
 
Delphi-Quellcode:
Stringgrid1.RowCount := 0;

Nogge 10. Apr 2005 17:43

Re: stringGrid --> Zeilen löschen
 
Ich hatte mal genau das gleiche Problem und habe mir aus diesem Grund diese Procedure geschrieben:
Delphi-Quellcode:
Procedure StringgridDelete(Stringgrid:TStringGrid; Index:Cardinal);
var FixedRows,i:integer;
begin
  if Index<Stringgrid.RowCount then
  begin
    FixedRows:=Stringgrid.FixedRows;
    if Stringgrid.RowCount=FixedRows+1
    then Stringgrid.Rows[FixedRows].Clear
    else begin
      if Stringgrid.RowCount>2 then
      begin
        for i:=Index to Stringgrid.RowCount-1 do
          Stringgrid.Rows[i]:=Stringgrid.Rows[i+1];
        Stringgrid.RowCount:=Stringgrid.RowCount-1;
      end;
    end;
  end;
end;
[edit] Wenn du wirklich das gesamte StrinGrid löschen möchtest, musst du das so schreiben:
Delphi-Quellcode:
  StringGrid1.RowCount:=1;
  StringGrid1.Rows[StringGrid1.RowCount-1].Clear;
[/edit]

Nisbo 10. Apr 2005 17:44

Re: stringGrid --> Zeilen löschen
 
ichhabe das schon mit

StringGrid1.RowCount := 2;

versucht aber in der liste bleiben die alten einträge unter zeile 2 stehen

Nisbo 10. Apr 2005 18:07

Re: stringGrid --> Zeilen löschen
 
kommando zurück, ich held hatte die ganze zeit mit der falschen procedur getestet :wall:

Nogge 10. Apr 2005 18:11

Re: stringGrid --> Zeilen löschen
 
Was meinste denn mit der "falschen" Procedure?

Lannes 10. Apr 2005 18:20

Re: stringGrid --> Zeilen löschen
 
Hallo,

@gordon freeman
Damit löscht du nicht die Einträge. :mrgreen:

@Nogge
StringGrid leeren geht nur mit einer Schleife. :gruebel:

Aus der Delphi-Hilfe
Zitat:

Die Eigenschaft Rows ist ein Array, das für jede Zeile die Strings und die ihnen zugeordneten Objekte enthält.
Damit wird es komplett geleert:
Delphi-Quellcode:
  for z := 1 to StringGrid1.RowCount - 1 do
       StringGrid1.Rows[z].Clear();
Eventuell bei fixen Zeilen/Spalten den Code anpassen, oder diese nach dem Löschvorgang neu beschriften.

Nogge 10. Apr 2005 18:30

Re: stringGrid --> Zeilen löschen
 
Der "freie Mann" hatte auch unrecht, da man RowCount gar nicht auf 0 setzen kann. Aber ich habe das Wort "löschen" so verstanden, dass es für das Auge entfernt werden sollte. Somit wäre es dann ja egal, ob die Einträge noch vorhanden sind oder nicht.

Nisbo 10. Apr 2005 18:33

Re: stringGrid --> Zeilen löschen
 
@ Nogge

nach statt bei button1click hatte ich das im oncreate drinn :D
kein wunder das ich so immer auf den button klicken konnte und sich da nix gerührt hat

blablab 23. Apr 2006 00:33

Re: stringGrid --> Zeilen löschen
 
Also ich hab genau dasselbe Problem.

Kann man denn bei nem StringGrid keine einzelne Zeile rauslöschen, ohne jeden Eintrag, der sich darunter befindet, nach oben zu schieben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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