【发布时间】:2017-05-21 18:49:51
【问题描述】:
我的删除按钮将从数据库中删除一个条目,但不会从 primefaces 中的实际数据表中删除。直到您使用过滤器更改或 F5/新会话刷新它。
我已经查看了这个问题的其他各种答案,但我还是一片空白。我试过弄乱更新并使用 oncomplete="PF('datalistWidget').filter()" 等等。
使用 primefaces 6.0 和 glassfish 4.1。任何帮助表示赞赏。 我大致遵循了http://www.oracle.com/technetwork/articles/java/java-primefaces-2191907.html 的教程,然后添加了我自己的自定义。托管 bean 和外观等...都与数据库创建类的教程相似。我在 glassfish 日志中没有看到任何错误。
数据表
<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.
}
}
【问题讨论】:
-
就像答案状态一样,您似乎没有从列表中删除该项目或表明您从数据库中完全加载列表
标签: ajax primefaces jsf-2 datatable