2017-06-09 3 views
0

ich eine einfache ace:dataTable Komponente mit der folgenden Art Hörer haben:IceFaces - serverseitige Sortierspalte Extraktion

<ace:ajax event="sort" execute="@this" render="@all" listener="#{userModel.myListener}"/>

Auf Server-Seite habe ich folgende Hörer:

public void myListener(AjaxBehaviorEvent ajaxBehaviorEvent){ 
//todo extract sort column name 
} 

Wie kann ich Extrahieren Sie den aktuellen Sortierspaltenwert im Listener? Ich kann die Quelle der AjaxBehaviorEvent, die eine DataTable ist, extrahieren, und es hat eine getSortCriteria() Methode, die zurückgibt, was ich will, aber es ist geschützt, so kann ich es nicht verwenden. Gibt es andere Möglichkeiten?

Vielen Dank.

Antwort

0

Sie erhalten die Spalten der DataTable mit getColumns() Methode. Wenn Column.hasSortPriority() wahr ist, wird diese Spalte als Bestellkriterium ausgewählt. Sie können Column.isSortAscending() verwenden, um die Richtung der Bestellung zu bestimmen.