IceFaces - 服务器端排序列提取

时间:2017-06-09 11:37:05

标签: jsf icefaces

我有一个简单的ace:dataTable组件,其中包含以下排序侦听器:

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

在服务器端,我有以下监听器:

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

如何在侦听器中提取当前排序列值?我可以提取AjaxBehaviorEvent的来源,这是一个DataTable,并且它有getSortCriteria()方法,它返回,我想要的,但它受到保护,所以我不能用它。还有其他选择吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用DataTable方法获取getColumns()的列。如果Column.hasSortPriority()为真,则选择此列作为订单条件。您可以使用Column.isSortAscending()来确定订购的方向。