2011-10-12 43 views
3

您好我正在使用Primefaces 3.0.M和它的數據表。Primefaces <p:dataTable> roweditlistener不是一個有效的參數

我已經將它設置爲使用內嵌版本,但知道我需要在修改後保留我的數據,所以我認爲rowEditListener會這樣做。

但我這樣做的時候,它說rowEditListener是不是一個在組件的接口定義,我無法找到這方面有任何文檔..

<p:dataTable var="car" value="#{carBean.cars}" 
rowEditListener="#{carBean.onEditRow}"> 

有人嗎?是否有另一種解決方案在編輯模式完成後在內嵌編輯器中調用方法?

謝謝!

回答

3

在primefaces 3.0.M3應該用ajax這樣

<p:dataTable var="user" value="#{userController.allUsers}" id="userList"> 
<p:ajax event="rowEdit" update="@this" listener="#{userController.onEditRow}" /> 

而不是使用舊rowEditListener完成,並且應該採取RowEditEvent作爲參數的方法在你的託管bean

public void onEditRow(RowEditEvent event) { 
    User nutzer = (User) event.getObject();     

    User user = userFacade.find(nutzer.getId()); 

    user.setName(nutzer.getName()); 
    user.setLogin(nutzer.getLogin()); 

    userFacade.edit(user); 
} 
相關問題