ORDA Listbox Sortierung Relation

Hallo,
gegeben sei eine Listbox mit einer entitySelection.
Eine Spalte hat als Ausdruck This.Relation_7_zurueck[0].Relation_9.Nummer
Die Werte werden korrekt über die Relation dargestellt.

Der Versuch die Spalte zu sortieren gibt jedoch einen Fehler:
The “Nummer” attribute cannot be found in The “Bilder” datastore class

Die datastore class zeigt auf die Tabelle Bilder.
Das Feld Nummer befindet sich in einer anderen Tabelle, die über die Relation erreicht wird.

Warum klappt die Sortierung hier nicht?
Ich hatte gehofft, dies sei mit ORDA möglich.

Könnte es sein, dass ein Bildfeld zur Sortierung angesprochen wird?

Nein, das Feld ist vom Typ Lange Ganzzahl!

Hallo,

ich kann das von Ihnen beschriebene Verhalten so nicht nachvollziehen.
Für die weitere Bearbeitung würde mir ein minimal Beispiel, in welchem Sie das Verhalten nachvollziehen können, sehr weiterhelfen. Ich würde Sie daher bitten ein minimal Beispiel an support-de@4d.com , für die weitere Bearbeitung, zu senden.

Vielleicht liegt hier auch ein Missverständnis vor:

This.Relation_7_zurueck[0].Relation_9.Nummer

Sie können über Relationen Many to One sortieren.
Also z. B. Rechnungen nach LKZ der Kunden-Tabelle.

Sie können nicht über Relationen One To Many sortieren.
In Ihrem Fall scheinen Sie den ersten Datensatz der Many Tabelle als Kriterium nehmen zu wollen, was in sich eine eigentlich fehleranfällige Vorgehensweise ist.
Die Reihenfolge der Many-Tabelle ist unbestimmt, Sie wissen also nicht was der erste ist.
Sollte es überhaupt keinen Datensatz in der Many-Tabelle geben, ist zurueck[0] NULL, die weitere Nutzung somit ungültig und wirft einen Fehler aus.

Man könnte das nur über Sortieren nach Formel lösen und dazu eine Methode aufrufen. Diese liefert einen Sortierwert zurück, der vorher entsprechend ausgewählt wird (ggf mit Fehlerprüfung, siehe oben).

der .order() Befehl unterstützt derzeit noch keine Formel-Sortierung.

Hallo Herr Maul,
danke für die Erläuterung, ich denke, der Fehler wird tatsächlich dadurch ausgelöst, dass nicht zu allen Datensätzen in der Listbox via Relation eine Nummer ausgegeben wurde.
Dann wird es so sein, wie Sie schreiben: es wird NULL zurückgegeben und dadurch funktioniert die Sortierung nicht mehr.

Mit freundlichen Grüßen