Open JohannMaierhofer opened 12 hours ago
Ich finde rememberState auf jeden Fall besser. Dann ist kein extra Sort input nötig
Nach einem Spaziergang habe ich nochmals getestet und festgestellt, dass nur bei Buchungen die Sortierreihenfolge erhalten bleibt und nicht bei den Mitgliedern. Da ist es so wie bei den anderen z.B. Spendenbescheinigungen. Wenn man direkt in de View wechselt bekommt man die gespeicherte Sortierung und wenn man dann auf suchen klickt bekommt man die aus dem Query. Da ändert auch das rememberState nichts. Das ist anscheinend sowieso aktiv.
Es hat etwas gedauert und dann habe ich den Grund gefunden. Die Buchungsliste macht bei einem Refresh ein .sort(). Das stellt die gespeicherte Sortierung her. Buchungsart macht das auch. Die anderen Views nicht.
Das bedeutet eigentlich, wir müssen bei allen Tabellen beim refresh das .sort() einbauen. Sonst haben wir das seltsame Verhalten, dass bei neu Anzeige des Views die gespeicherte Sortierung benutzt wird und nach einem Suchen die Sortierung aus dem Query. Eine Sortierung im Query brauchen wir nur wenn ein Export das Query macht damit man dann im Export die richtige Sortierung hat.
Als ich die Sortieroption in den Queries gemacht habe, habe ich gesehen, dass die Sortierung z.B. in den Spendenbescheinigungen nicht passiert wenn man den View öffnet, sondern erst wenn man den Suchen Button drückt. Ich habe herausgefunden, dass das wohl erst nach dem paint funktioniert. Ich konnte das beheben wenn ich direkt nach dem paint ein refresh der Liste mache.
Dann habe ich gesehen, dass der Sort bei Mitglieder und Buchungen nicht funktioniert, bis ich dann gesehen habe, dass dort rememberState gesetzt ist. Es wird also die letzte Sortierung die man per Klick auf den Spalten Kopf eingestellt hat beibehalten, egal was man im Query als Sort definiert hat.
Meine Frage wäre also, ob wir hier das Verhalten vereinheitlichen sollten. Also z.B. immer rememberState. Dann braucht man den Sort im Query nur wenn es auch für Reports verwendet wird. Im andern Fall würde ich nach dem paint direkt einen refresh aufrufen damit der Sort auch beim Aufruf des Views passiert.
Was ist eure Meinung dazu?