我对PrimeFaces有一点问题,我正在尝试向colReorder事件添加一个事件监听器,但是当我添加它时,整个东西都失败了 Uncaught SyntaxError:Unexpected token 。
代码如下所示:
<p:dataTable
width="100%"
value="#{myBean.getItems()}"
var="item"
id="resultList"
draggableColumns="true"
>
<p:ajax event="colReorder" listener="#{myController.onColumnReorder}" />
...
支持bean:
@Named
@RequestScoped
public class MyController implements Serializable{
public void onColumReorder(ReorderEvent event) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Row Moved", "From: " + event.getFromIndex() + ", To:" + event.getToIndex());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
奇怪的是,如果我删除p:ajax一切正常,我可以更改列。
任何想法,这是一个已知的错误还是我错过了什么?
为了避免混淆,getItems在sessioncoped bean中看起来像这样:
@Named
@SessionScoped
public class MyBean extends DataModel<E> implements Serializable {
private List<E> items;
...
public List<E> getItems () {
return items;
}
答案 0 :(得分:0)
实际上,org.primefaces.event.ReorderEvent似乎不允许进行列重新排序,但仅用于行重新排序。 您应该使用AjaxBehaviorEvent作为方法的参数,如:
public void onColumReorder(AjaxBehaviorEvent event) {
}