Banner

Automatisches Speichern im Grid

Hat die Hauptform den Geändert-Status (Save-Button ist enabled) und wechselt der Focus in ein Grid, ist der Geändert-Status plötzlich FALSE (Save-Button disabled). Das ist unlogisch. Eine sinnvolle Steuerung anhand dieser Eigenschaft der Bedienungselemente damit nicht möglich.Gerade stelle ich (aufgrund einer Fehlermeldung, die aus einem Entwicklungsfehler resultiert) fest, dass das System an dieser Stelle offenbar stillschweigend den Satz speichert. Auch das finde ich nicht logisch, bzw. sogar schlecht. Das Speichern sollte dem User vorbehalten bleiben. Möglicherweise will er das ja gar nicht, sondern später ohne Änderungen abbrechen.


Karl Hajek 24.05.2016 / 21:00

Dieses Verhalten ist notwendig und absolut so gewollt. Der Grund dafür liegt darin, dass man ja im XML auf Werte des Parentrecords referenzieren kann. Also ich kann im Child auf das Parent zugreifen und auch umgekehrt. Würde nun die Form verlassen werden ohne den Datensatz implizit zu speichern, könnten sie einen Wert dieser Form referenzieren und verwenden, obwohl der Datensatz nicht gespeichert ist. Auch der Benutzer wäre fehlgeleitet, da das was er sieht nicht das ist, mit dem die Datenbank arbeiten würde. Sie rufen dann z.B. ein Command auf, das Werte in einer DB-Funktion ermittelt und diese arbeitet dann mit Werten, die nicht dem entsprechen was der User gerade sieht. Aus diesen Gründen gab es vor vielen Jahren einmal die Entscheidung was zu tun ist, entweder die Form nicht verlassen können und daher auch nicht in ein Grid zu wechseln oder implizit zu speichern. Wir haben uns für letztere Variante entschieden, da sich das in der Praxis viel besser bewährt hat.