Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#1

Akzeptanz des Wertes im TField eines TDataSet

  Alt 3. Feb 2023, 08:03
Folgende Situation:
Ich arbeite mit dem QuantumGrid und nutze das EditRepository, um eine Eingabe zu validieren.
Das Besondere ist, dass das zugrundeliegende Feld ein Datumsfeld ist (auch in der DB), aber die Eingabe so umgebogen ist, dass maximal nur 4 Ziffern eingegeben werden können. Diese werden im Validate geprüft und aufbereitet, damit ein gültiger Datumswert entsteht, der im DataSet dem Feld zugewiesen werden kann. Im Fehlerfall (kann nicht zum Datum aufbereitet werden) natürlich nicht.
Das funktioniert soweit gut, sofern man beim Validate den Datensatz nicht wechselt. Stehe ich aber im betroffenen Feld und will von dort den Datensatz wechseln, wird das Validate genauso abgearbeitet, wie gewünscht. Allerdings gibt es dennoch eine Exception (nicht meine Fehlermeldung), dass die 4-stellige Eingabe kein DateTime ist, was ja auch stimmt.

Soweit ich das sehen kann, liegt es am Field des DateSets, das zwar bereits den korrekten Inhalt hat, aber noch nicht als Wert akzeptiert hat.
Wechsel ich programmatisch ins nächste Feld und wieder zurück, also so eine Art Zwangsakzeptanz, gibt es keinen Fehler. Da aber der Anwender steuern kann, in welcher Reihenfolge die Felder stehen und welche editierbar sind, kann ich nicht einfach ein Feld weiter und wieder zurück, um die Akzeptenz auszulösen.
Vermutlich habe ich nur ein Brett vor dem Kopf (oder ich finde das Schlüsselwort für die Suche nicht) aber es muss doch ein Möglichkeit geben, diesen Vorgang auszulösen, ohne das Feld zu wechseln.

Kann mir bitte mal jemand auf die Sprünge helfen?
Peter
  Mit Zitat antworten Zitat