![](/img/trans.png)
[英]click event for <p:outputLabel> with <p:ajax> inside <p:datatable>
[英]f:ajax does not render p:dataTable inside p:layout
我有一个dataTable,可以通过单击删除图像来删除行。 当我单击它时,数据被删除,但表未呈现
这是我的代码:
<p:fieldset id="knowledgeBases" legend="#{appMsg.knowledge_base}">
<p:layout style="width:auto; height:800px;">
<p:layoutUnit position="center" id="kbCenter">
<p:dataTable id="kbDataTable" var="kb" value="#{KnowledgeBaseBean.kbList}" sortMode="multiple"
rows="10" paginator="true" rowsPerPageTemplate="10,15,20"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">
<p:ajax event="filter" listener="#{KnowledgeBaseBean.onFilter}" update = ":formId:kbDataTable"/>
<p:column style="width:2%">
<h:commandLink title="#{appMsg.common_delete}" id="deleteImage" onclick="return confirm('#{appMsg.del_warn_current_record}')" >
<h:graphicImage name="images/new_design/image13.png" style="width:15px;height:15px;text-align: center" />
<f:ajax event="click" execute="@this" render="@form"
listener="#{KnowledgeBaseBean.deleteListItem}"/>
</h:commandLink>
</p:column>
...
如果您使用全页面布局,则问题可能是您在layoutUnit周围有一个表单。 反之亦然。 从Primefaces 4.0用户指南中。 262:
使用表单和完整页面布局时,请避免使用包含layoutunits的表单,因为生成的dom可能不相同。 所以跟随是无效的 。
<p:layout fullPage="true">
<h:form>
<p:layoutUnit position="west" size="100">
h:outputText value="Left Pane" />
</p:layoutUnit>
<p:layoutUnit position="center">
<h:outputText value="Right Pane" />
</p:layoutUnit>
</h:form>
A layout unit must have it’s own form instead, also avoid trying to update layout units because of same reason, update it’s content instead.
在这里进一步解释。
问题出在我的豆子里。 当我从数据库中删除对象时,我忘记从列表中删除该对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.