Primefaces 3.4数据表在删除行后无法正确刷新

时间:2013-10-24 06:27:20

标签: primefaces datatable

我创建了一个每行都有一个删除按钮的组件。单击删除按钮时,将调用confirmDialog,在对话框上单击“是”时,该行将被删除。

表刷新,但UI上删除了错误的行。在bean上,删除正确的记录。在UI端,删除的行始终是最后一行,无论您选择要删除哪一行。

“删除”按钮位于数据表本身,而confirmDialog位于数据表外部,但位于相同的表单中。

有人知道出了什么问题吗?

<p:commandButton icon="ui-icon ui-icon-trash"
        update="@form"
        oncomplete="del_confirmation.show()"
        value="Delete" 
        immediate="true">
       <f:setPropertyActionListener value="#{item}" 
         target="#{Bean.recToDelete}"/>
</p:commandButton>


<p:confirmDialog widgetVar="del_confirmation"
message="Confirm Delete?"
header="Delete Dialog" showEffect="explode"
hideEffect="explode" modal="true">
<div align="center">
    <p:commandButton id="delBtn"
        icon="ui-icon ui-icon-check"
        value="Yes"
        actionListener="#{Bean.deleteRecord()}"
        update="@form"
        oncomplete="del_confirmation.hide()" 
        immediate="true"
        ajax="true" />
    <p:commandButton
        icon="ui-icon ui-icon-cancel" 
        value="No"
        onclick="del_confirmation.hide()" />
</div></p:confirmDialog>

1 个答案:

答案 0 :(得分:1)

显示您的数据表代码,仅显示p:datatable ...

表格中没有缓存,也尝试删除immediate并使用f:setPropertyActionListener替换action="#{myBean.myDeleteMethod(item)}"