削除ボタンを押すと、データベースからエントリが削除されますが、実際のデータテーブルは削除されません。フィルターの変更またはF5 /新規セッションのいずれかでリフレッシュするまで。更新後にデータテーブルに反映されない行を削除する
私はこの質問に対する他のさまざまな回答を見てきましたが、空白になっています。私は、更新を混乱させ、oncomplete = "PF( 'datalistWidget')。filter()を使用してみました。
primefaces 6.0とglassfish 4.1を使用する。どんな助けもありがたい。 私はおおよそhttp://www.oracle.com/technetwork/articles/java/java-primefaces-2191907.htmlのチュートリアルに続き、自分のカスタマイズに追加しました。マネージドBeanやFacadeなどは、データベース作成クラスのチュートリアルとすべて似ています。グラスフィッシュのログには何の誤りも見られませんでした。
のDataTable
<p:dataTable id="datalist" value="#{chemicalChemicalController.items}" var="item"
selectionMode="single" selection="#{chemicalChemicalController.selected}"
paginator="true"
editable ="true"
rowKey="#{item.chemKey}"
rows="10"
widgetVar="datalistWidget"
rowsPerPageTemplate="10,20,30,40,50"
filteredValue="#{chemicalChemicalController.itemsFiltered}"
>
コマンドボタン
<p:commandButton id="deleteButton" icon="ui-icon-trash"
value="#{bundle.Delete}" actionListener="#{chemicalChemicalController.destroy}"
update=":growl, datalist" disabled="#{empty chemicalChemicalController.selected}"/>
コントローラの削除コマンド削除
public void destroy() {
persist(PersistAction.DELETE, ResourceBundle.getBundle("/Bundle").getString("ChemicalChemicalDeleted"));
if (!JsfUtil.isValidationFailed()) {
selected = null; // Remove selection
items = null; // Invalidate list of items to trigger re-query.
}
}
回答状態と同様、リストから項目を削除したり、リストをデータベースから完全にブレークする – Kukeltje