Delphi-PRAXiS

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 BELIEBIGE Zeile löschen. (https://www.delphipraxis.net/126271-stringgrid-beliebige-zeile-loeschen.html)

thiagojonas 21. Dez 2008 22:02


StringGrid BELIEBIGE Zeile löschen.
 
Hallo Leute,
wieder mal ein leidiges Thema :)
Folgende Procedure habe ich für das Löschen einer BESTIMMTEN Zeile in einer StringGrid.

Delphi-Quellcode:
...

  type
  TStringGridHack = class(TStringGrid)
  protected
    procedure DeleteRow(ARow: Longint); reintroduce;

  end;

...


...

procedure TStringGridHack.DeleteRow(ARow: Longint);
var
  GemRow: Integer;
begin
  GemRow := Row;
  if RowCount > FixedRows + 1 then
    inherited DeleteRow(ARow)
  else
    Rows[ARow].Clear;
  if GemRow < RowCount then Row := GemRow;
end;

...

und ausführen mit

...

TStringGridHack(air_dg).DeleteRow(2); // Hier an der 2 Stelle
Ich möchte das die Zeile gelöscht wird, die ich makiere.

Mit einer For-Schleife habe ich es probiert, aber da kam nur murks raus :gruebel:

Delphi-Quellcode:
 for line:=0 to einnahmen_dg.RowCount-1 do
StringgridDelete(einnahmen_dg,line);

Hansa 21. Dez 2008 22:33

Re: StringGrid BELIEBIGE Zeil löschen.
 
Zitat:

Zitat von thiagojonas
...probiert, aber da kam nur murks raus :gruebel:

Ein Wunder ? C+P ist ja schon gut. Aber wenn schon dann richtig. :P

Die Quellenangabe fehlt natürlich auch noch. Selbstverständlich wurden die Quellen-Teiltexte nur teilweise gepostet usw. Also ganz so wie üblich. :mrgreen:

Zumindest die Quelle ist schnell zu finden :

http://www.swissdelphicenter.ch/de/showcode.php?id=460

Jetzt heißts nur noch : auf einen warten, der dir das ganze Rätsel löst.

guidok 22. Dez 2008 06:31

Re: StringGrid BELIEBIGE Zeile löschen.
 
Zitat:

Zitat von thiagojonas
Ich möchte das die Zeile gelöscht wird, die ich makiere.

Mit einer For-Schleife habe ich es probiert, aber da kam nur murks raus :gruebel:

Delphi-Quellcode:
 for line:=0 to einnahmen_dg.RowCount-1 do
StringgridDelete(einnahmen_dg,line);

Wenn du möchtest, dass die markierte Zeile gelöscht wird, was soll dann der Kram hier?

Hier ist weder die for-Schleife noch der Befehl innerhalb der Schleife richtig.

Edit:

Ein Tip, den dir auch die Delphi-Hilfe verraten hätte (wenn man sie denn lesen würde):

Die aktuelle Zeile des Grid bekommst du über StringGrid.Row.

DP-Maintenance 22. Dez 2008 07:06

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
TStringGrid -> VCL

thiagojonas 22. Dez 2008 08:20

Re: StringGrid BELIEBIGE Zeile löschen.
 
Danke :-D und Frohe Weihnachten :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.

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