AGB  ·  Datenschutz  ·  Impressum  







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

Stringgrid OnCellChange ?

Ein Thema von Hansa · begonnen am 19. Feb 2014 · letzter Beitrag vom 25. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 19:18
Delphi-Version: 5
Hallo,

ich bräuchte den Wert einer Stringgid-Zelle, bevor sie geändert wird und danach. Z.B. Zelle hat den Wert 5. Den ändere ich jetzt auf 7. Gut, den geänderten Wert habe ich ja direkt in der Zelle drin stehen, aber woher weiss ich jetzt, dass der vorher 5 war ? Weitere Frage ist dann noch : solange der User die zelle editiert braucht ja nichts gemacht zu werden, erst beim verlassen der Zelle. Da wäre jetzt so etwas in Richtung OnCellExit nützlich. Geht das mit dem normalen TStringgrid schon irgendwie, oder muss ich das nachrüsten ? Wenn ja wie am Besten ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 19:47
In OnEnter und OnSelectCell den "alten" Inhalt in einer Variable speichern (aka dein selbstgebautes OnCellEnter)

und im OnSelectCell, sowie im OnExit, kann kann der alte mit dem neuen Wert verglichen werden. (aka OnCellExit)



Eventuell noch OnRowMoved und OnColMoved auch mit als OnCellExit und danach als OnCellEnter beachten, falls Zeilen/Spalten verschoben werden dürfen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 20:37
Geht nicht, das Stringgrid wird ja nicht verlassen, noch "betreten". Deshalb scheiden OnEnter und OnExit des Grids aus.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 21:20
Hallo,

du könntest OnSelectCell nutzen, was ausgelöst wird, bevor die Zelle ausgewählt wird. (laut Hilfe)
So könntest du deinen alten Wert erhalten

Habs getestet - bevor man einen Wert in der Zelle ändern kann, wird OnSelectCell ausgelöst und spuckt noch
den alten Wert der Zelle aus
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (19. Feb 2014 um 21:28 Uhr)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#5

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 21:29
Hallo,

Zitat:
ich bräuchte den Wert einer Stringgid-Zelle, bevor sie geändert wird und danach [...] Weitere Frage ist dann noch : solange der User die zelle editiert braucht ja nichts gemacht zu werden [...]
Bevor der Inplace-Editor in der Zelle angezeigt wird, wird OnGetEditText ausgelöst (falls zugewiesen). Im Parameter Value wird der aktuelle Zelleninhalt geliefert.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 21:32
Hallo,

Zitat:
ich bräuchte den Wert einer Stringgid-Zelle, bevor sie geändert wird und danach [...] Weitere Frage ist dann noch : solange der User die zelle editiert braucht ja nichts gemacht zu werden [...]
Bevor der Inplace-Editor in der Zelle angezeigt wird, wird OnGetEditText ausgelöst (falls zugewiesen). Im Parameter Value wird der aktuelle Zelleninhalt geliefert.

Gruß
Aber doch nur wenn es eine Maske gibt, oder?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#7

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 21:40
Hallo,

OnGetEditText wird getriggert, wenn in Options das Flag goEditing gesetzt ist (laut TE kann der Anwender editieren). Hat mit der Mask nichts zu tun

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 22:59
Alleine mit den Events GetEditText und SetEditText kann man genau bestimmen, wann eine Zelle editiert wird und wann diese Bearbeitung abgeschlossen ist.

Die anderen Events sind dazu überflüssig.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#9

AW: Stringgrid OnCellChange ?

  Alt 19. Feb 2014, 23:50
Hallo,

Alleine mit den Events GetEditText und SetEditText kann man genau bestimmen, wann eine Zelle editiert wird und wann diese Bearbeitung abgeschlossen ist.
Mit GetEditText kann man genau bestimmen, wenn eine Zelle in den Editiermodus wechselt (das wird nur einmal getriggert, bevor der Inplace-Editor angezeigt wird), SetEditText hingegen wird bei jeder Änderung (bei jedem Tastenanschlag) und beim abschließenden Return, beim Klick auf eine andere Zelle etc. getriggert - also u. U. sehr häufig.

Die anderen Events sind dazu überflüssig.
Kann man so sehen - würde mich da tendenziell zwar anschließen - muss man aber nicht.

ich bräuchte den Wert einer Stringgid-Zelle, bevor sie geändert wird [...]
Wie schon ausgeführt GetEditText und entsprechend merken

[...] und danach [...]
das kann ein beliebiger Zeitpunkt irgendwo im Raum-Zeit-Kontinuum sein; welcher Event dann dafür am besten geeignet ist weiß vielleicht Zarkon .

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

AW: Stringgrid OnCellChange ?

  Alt 20. Feb 2014, 00:28
Thx, scheint wirklich so in der Richtung zu gehen. Allerdings ist da noch eine Sache nicht so optimal. Ich muss ja die Differenz der bestimmten Zellen eventuell auswerten.
..wann eine Zelle editiert wird und wann diese Bearbeitung abgeschlossen ist...
Wo sollte man das denn am Besten machen ? Anbei Beispielprojektm falls jemand das mal testen will.
Angehängte Dateien
Dateityp: zip sgTest.zip (233,9 KB, 7x aufgerufen)
Gruß
Hansa

Geändert von Hansa (20. Feb 2014 um 00:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:38 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