Die Funktion ecx:sort gibt Einträge absteigend oder aufsteigend entsprechend der Werte der Ziel-Spalte sortiert zurück. Es wird ein Wert vom Typ Objekt zurückgegeben.

Struktur​

ecx:sort(Objekt, Zeichenkette, Zeichenkette)

Parameter​

Parameter

Beschreibung

Objekt

Der Parameter spezifiziert die Quelle der zu sortierenden Daten.

Zeichenkette

Der Parameter spezifiziert die zu sortierende Zielspalte. Die sortierte Spalte muss nicht zwingend die angezeigte Spalte sein. Die Daten können beispielsweise nach dem Einkaufsdatum sortiert sein, auch wenn nur die Spalten mit Preis und Produktname in der Nachricht angezeigt werden.

Zeichenkette

Der Parameter spezifiziert, in welcher Reihenfolge sortiert wird. Bleibt der Parameter leer, so wird standardmäßig aufsteigend sortiert. Durch Eingabe von 'desc' wird die Spalte absteigend sortiert. Durch Eingabe von 'asc' wird die Spalte aufsteigend sortiert.

Beispiel

Ein Pool-Container beinhaltet eine aktualisierte Liste mit ermäßigten Flugpreisen für beliebte Reiseziele. Die Daten werden in eine Nachricht eingefügt und dem Preis entsprechend aufsteigend sortiert.

Die Daten werden in einem unverknüpften Pool-Container namens Flugpreise gespeichert. Das Datum des Datenimports wird als Schlüssel-Spalte verwendet. In diesem Beispiel wird das Datum 14. Januar 2012 verwendet. Die Sortierfunktion ist wie folgt aufgebaut:

${ecx:sort(ecx:related('Flugpreise', '01142012'), 'AktuellerPreis', 'asc')}

Beachten Sie, dass in diesem Beispiel die Funktion ecx:related die Schlüssel-Spalte des unverknüpften Datenpools bestimmt. Da die Schlüssel-Spalte für diesen Datenpool nicht Unique ist, können mehrere Werte zurückgegeben werden. Um die sortierten Daten in eine Nachricht einzufügen, muss die Funktion in eine ​ForEach​-Schleife eingebunden werden. Die Werte für das Reiseziel und den aktuellen Flugpreis werden in einer Tabelle mit zwei Spalten angezeigt. Der HTML-Code, der die Tabelle definiert und die Daten einfügt, ist wie folgt aufgebaut:

<table> <tbody> <%ForEach var="count" items="${ecx:sort(ecx:related('Fares','123457'), 'CurrentFare', 'desc')}"%> <tr> <td><% ${count['Destination']}%></td> <td><% ${count['CurrentFare']}%></td> </tr> <%/ForEach%> </tbody> </table>