我有一个简单的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()
方法,它返回,我想要的,但它受到保护,所以我不能用它。还有其他选择吗?
谢谢。
答案 0 :(得分:0)
您可以使用DataTable
方法获取getColumns()
的列。如果Column.hasSortPriority()
为真,则选择此列作为订单条件。您可以使用Column.isSortAscending()
来确定订购的方向。