问题与号码:AJAX事件colReorder
问题描述:
里面一个p:dataTable
我有显示FacesMessages一些Ajax事件当我做一些修改问题与号码:AJAX事件colReorder
<p:ajax event="cellEdit" listener="#{userRegistrationController.cellEditAction}"
update=":currentUserForm:currentUsersFormMessages"/>
<p:ajax event="colResize" listener="#{userRegistrationController.colResizeAction}"
update=":currentUserForm:currentUsersFormMessages"/>
<p:ajax event="colReorder" listener="#{userRegistrationController.colReorderAction}"
update=":currentUserForm:currentUsersFormMessages"/>
无法运作的唯一一个是“colReorder”之一,当我调用该方法我有javax.el.MethodNotFoundException:未找到方法:[email protected]042d.colReorderAction(javax.faces.event.AjaxBehaviorEvent)。 以下是方法colResizeAction
和colReorderAction
,我不明白为什么一个工作,其他不工作。
public void colResizeAction(ColumnResizeEvent event){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
"the width of column "+event.getColumn()+" is now "+event.getWidth()
));
}
public void colReorderAction(ReorderEvent event){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
"reordered "+event.getComponent().toString()));
}
ReorderEvent
class是否有问题?
答
与豆Action参数TY变化行动的行为试着像下面的代码
public void onReorder(AjaxBehaviorEvent event) {
DataTable dataTable = (DataTable) event.getComponent();
List<UIColumn> columns = dataTable.getColumns();
//build new column order to store
for(UIColumn : column columns)
{
//read column names
}
//store list to db
}
答
的问题是,AJAX事件“colReorder”不支持listener参数组织。 primefaces.event.ReorderEvent。这就是为什么你有这个错误!正如上面提到的@Araf,colReorder事件支持AjaxBehaviorEvent事件。