0

行ごとに削除ボタンがあるコンポーネントを作成しました。削除ボタンをクリックすると、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>
4

1 に答える 1

1

データテーブル コードを表示しますp:datatable。...

テーブルにキャッシュはありません。また、を削除して、を使用してimmediate置き換えてみてくださいf:setPropertyActionListeneraction="#{myBean.myDeleteMethod(item)}"

于 2013-10-29T07:09:21.007 に答える