【发布时间】:2012-08-16 13:17:05
【问题描述】:
我将 primefaces 3.3 与 JSF 2.1 一起使用。在下面的代码中,我有一个 primeFaces 数据表,其中包含从数据库中提取的数据行,这些数据是从页面左侧的树组件正确激活的。 dataTable 显示和行为正确。我有一个调用“更新”的删除功能,它刷新我的数据表并在数据库更新后反映我的更改。我的问题是 f:facet (id="header")。该方面包含一个 commandLink,它在我的数据表中创建一个新行。它的工作原理是我的数据库已正确更新。在此之后不会刷新数据表。为了刷新我的dataTable,我必须单击我的树组件中的另一个节点(在页面的左侧),然后返回原始treeNode 才能看到我的dataTable 完美更新。我可以在代码中添加什么来动态更新数据表? 不幸的是,我无法添加我在这里尝试过的所有排列 - 我在这个问题上花了很长时间 - 您的输入将不胜感激!
<h:form id="formRight" >
<p:dataTable var="material" value="#{entityCrudTreeBean.materialList}" id="materials" editable="true" paginator="true" rows="10" sortBy="#{material.name}">
<p:ajax event="rowEdit" listener="#{entityCrudTreeBean.onEditRow}"/>
<f:facet id="header" name="header">
In-Cell Material Editing
<br />
<p:commandLink id="create" value="Add new material" action="#{entityCrudTreeBean.createNewMaterial}" update=":formRight"/>
</f:facet>
<p:column headerText="Name" style="width:125px">
<p:cellEditor>
...
</p:cellEditor>
</p:column>
<p:column headerText="Options" style="width:10px" >
<p:rowEditor />
<p:commandLink id="delete" action="#{entityCrudTreeBean.deleteRow(material)}" update=":formRight">
<h:graphicImage value="#{resource['icons:Delete-icon.png']}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
编辑:
将行更改为
<p:commandLink id="create" value="Add new material" action="#{entityCrudTreeBean.createNewMaterial}" update=":formRight:materials"/>
也不起作用
编辑:
更改为:
<f:facet id="header" name="header">
In-Cell Material Editing
<br />
<p:commandLink id="create" value="Add new material" ajax="true" process="@this" action="#{entityCrudTreeBean.createNewMaterial}" update="@form"/>
</f:facet>
也解决不了问题。
【问题讨论】:
-
尚未阅读整个问题(只是主题)...尝试将
update=":formRight"替换为update="@form" -
谢谢,丹尼尔。不幸的是,
code: <p:commandLink id="create" value="Add new material" action="#{entityCrudTreeBean.createNewMaterial}" update="@form"/>也不起作用 -
<h:form id="formRight" >是否有可能被其他形式包裹? -
不,它是
<ui:define name="centreContent">的一部分。并且 id="delete" 运行良好。 -
只是想知道,尝试将删除链接放在单独的列中,也许在
<p:rowEditor />列中添加其他按钮存在一些问题
标签: jsf-2 primefaces