AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid und Delete

Ein Thema von Anthauri · begonnen am 25. Okt 2004 · letzter Beitrag vom 27. Okt 2004
Antwort Antwort
Anthauri

Registriert seit: 1. Feb 2004
61 Beiträge
 
Delphi 6 Personal
 
#1

Stringgrid und Delete

  Alt 25. Okt 2004, 18:22
Ein Montagshallo !

nachdem ich meine Suche unter "stringrid" und "delete" ohne passende Antwort abgeschlossen habe möchte ich mein Problemchen kurz hier darstellen. ggf. hat jemand eine Idee.


Ich habe ein Stringgrid, aus dem ich eine Zeile löschen möchte.

Hierfür dürfte der Befehl passend sein.

Stringgrid1.Rows[zu_loeschende_zeile].Delete(Index); Aus der Hilfe entnehme ich, dass der Index exakt die Korrespondierende Anzahl Spalten der Zeile angeben muß.

Mein Testgrid enthält 2 Zeilen mit je zwei Spalten.

Ich habe bei dem Index alle Werte zwischen Null und Vier ausprobiert und auch die zu löschende Zeile mit Null und Eins als Festwert versucht.


Die Meldung ist stets:
EIvalidGridOperation. Es können keine Zeilen des Tabellengitters gelöscht oder eingefügt werden.

Kann mir ggf. jemand erklären wo der Fehler liegt, bzw erklären was der Index denn dann vielleicht tut?
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Stringgrid und Delete

  Alt 26. Okt 2004, 14:44
Hi,

das geht so nicht.

Zumindest bis Delphi 4 ist es überhaupt nicht möglich, bestimmte Zeilen aus einem Stringgrid zu löschen. Ich glaube aber mal gelesen zu haben, dass das bei späteren Versionen geht. Dann darfst du aber trotzdem nicht das Delete der Rows-Eigenschaft verwenden, das nur aus der aktuellen Zeile die entsprechende Spalte löschen und damit ein ziemliches Chaos erzeugen würde. Wenn vorhenden, müsste die passende Methode etwa StringGrid.DeleteRow oder ähnlich heißen.

Falls es so was nicht gibt, hilft nur das Umkopieren aller anderen Zeilen nach oben und das Verringern von RowCount.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#3

Re: Stringgrid und Delete

  Alt 26. Okt 2004, 15:31
so sollte es gehen...(nicht getestet)

Delphi-Quellcode:
procedure tform1.delrow(rownr:word);
var n:word;
begin
  with stringgrid1 do
  begin
    row:=rownr;
    if row<rowcount-1 then
      for n:=rownr to rowcount-2 do
        rows[n]:=rows[n+1];

    rowcount:=rowcount-1;
  end;
end;
  Mit Zitat antworten Zitat
Anthauri

Registriert seit: 1. Feb 2004
61 Beiträge
 
Delphi 6 Personal
 
#4

Re: Stringgrid und Delete

  Alt 26. Okt 2004, 17:33
Vielen Dank für die Antworten,

ich habe das Ganze jetzt auch in etwa so gelöst.

Aufwendig war es ja nicht, aber es hätte ja sein können, dass es eine Programmseitige lösung gibt, die ich nur nicht verstanden habe.
Es gibt in Delphi für mich halt noch viel zu entdecken.
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#5

Re: Stringgrid und Delete

  Alt 27. Okt 2004, 00:43
hallo anthauri!

hier findest du jede menge tipps zum thema Stringgrid

@niko:
Zitat:
Zumindest bis Delphi 4 ist es überhaupt nicht möglich, bestimmte Zeilen aus einem Stringgrid zu löschen. Ich glaube aber mal gelesen zu haben, dass das bei späteren Versionen geht
wer behauptet denn sowas? schau mal bei den schweizern vorbei, dort wirst du vom gegenteil überzeugt.

mfg, stefan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 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