Verbesserung
Wichtig
Detail
Fehlerbehebung
Wichtig
Detail
Wenn in der GridComponent eine Zeile bearbeitet ist und diese Fehler hat (z.B. ein Pflichtfeld ist nicht ausgefüllt), so ist es möglich die Zeile zu wechseln und die GUI kommt in einen inkonsistenten Zustand:
- Es kommt richtigerweise die Meldung, dass nicht gespeichert werden kann.
- Die alte Zeile zeigt weiterhin Felder an, ist aber nicht mehr selektiert.
- Die neue Zeile ist selektiert, bietet aber keine Felder an.
Weitere Ausprägung
Wird eine Kompositionsreferenz als Spalte einer Gridkomponente angezeigt, kann diese über "Werte anzeigen" inline bearbeitet werden. Werden hierbei Eingabefehler gemacht (z.B. Pflichtfelder leer gelassen) und der Dialog geschlossen, wird ein Fehlersymbol in der Spalte angezeigt und das Zeilenobjekt kann nicht gespeichert werden, weil "ein inneres Feld einen Fehler hat":
Problem
Wird in dieser Situation aber nicht explizit die Funktion "Speichern" verwendet, sondern einfach die Zeile gewechselt (was normalerweise implizit speichert) wird die neue Zeile ohne Bearbeitungsmodus selektiert aber die Anzeige der zuvor gewählten Zeile nicht aktualisiert, so diese weiterhin im Bearbeitungsmodus angezeigt wird. Beendet man nun den Bearbeitungsmodus durch "Abbrechen", wird die Anzeige der zuvor gewählten Zeile weiterhin nicht aktualisiert und sie wird weiterhin im Bearbeitungsmodus dargestellt:
Wechselt man nun wieder in den Bearbeitungsmodus, um die neu selektierte Zeile zu bearbeiten, werden beide Zeilen im Bearbeitungsmodus dargestellt:
Soll
Ein Zeilenwechsel soll entweder unmöglich sein, bis der Fehler durch Korrektur oder Verwerfen der Eingabe behoben wurde oder die Eingabe muss beim Zeilenwechsel automatisch verworfen werden oder mindestens beim Abbrechen muss der Bearbeitungsmodus auch für nicht-selektierte Zeilen beendet werden.
Test
- TestGridSelection-04_TestChangeSelectionInErrorState.script.xml
- Manuell:
- Wechsel nach Strukturen> Typendemo > Grid.
- Ein A editieren und den Namen leeren.
- Erwartung: Die Zeile hat einen Fehler
- Eine andere Zeile anklicken.
- Erwartung: Es ist nicht möglich die Zeile zu wechseln. Die alte Zeile ist weiterhin bearbeitet und hat den alten Fehler. Nur die bearbeitete Zeile ist selektiert.
- Die Selektions-Checkbox einer anderen Zeile selektieren.
- Erwartung: Es ist nicht möglich die Zeile zu wechseln. Die alte Zeile ist weiterhin bearbeitet und hat den alten Fehler. Nur die bearbeitete Zeile ist selektiert.