p:带有ui的tabView选项卡:include src不维护单独的选项卡

时间:2015-12-19 18:36:17

标签: jsf primefaces tabs

我正在使用primefaces tabview和制表符来分隔数据。当我使用ui:include src来包含一个带有保存按钮的数据表而不包含在include src代码中的选项卡代码时,我得到一个未包含在选项卡中的保存按钮

这是标签代码

<p:tab title="Event Costs" disabled="#{eventCreateEditModel.projectEvent.projectEventId==0}">
                    <p:panelGrid id="costsPanelGrid">
                        <ui:include src="eventCreateEditCosts.xhtml"/>
                        <p:row>
                            <p:column colspan="2"> <p:commandButton value="Save" actionListener="#{eventCreateEditModel.update}" update="@form"/></p:column>
                        </p:row>
                    </p:panelGrid>
                </p:tab>

这是数据表代码

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:p="http://primefaces.org/ui">

         <p:panel header="Audits List" update="@form" closable="false"  >
            <p:panelGrid  columns="3">
                <p:dataTable value="#{eventCreateEditCostModel.costEntities}" var="eventCost"
                             rowKey="#{eventCost.eventCostId}"
                             sortMode="multiple"
                             resizableColumns="true"
                             widgetVar="eventCostTable"
                              rows="10">
                    <f:facet name="header">
                        Event Audit Listing
                    </f:facet>
                    <p:column headerText="ID">
                        <h:outputText value="#{eventCost.eventCostId}" />
                    </p:column>
                </p:dataTable>
            </p:panelGrid>
            </p:panel>

“保存”按钮不包含在选项卡中,但显示在选项卡外部。

有没有人见过这类问题?还有另一种包含来源的方法吗?

1 个答案:

答案 0 :(得分:0)

仅通过选项卡中包含src解决了该问题。我必须使用保存按钮删除panelgrid和行/列,以便tabview正常工作。我将panelgrid和save按钮放在eventCreateEdtCosts.xhtml文件中。这违背了我可重用组件的目标,但确实解决了标签显示问题。

<p:tab title="Event Costs" disabled="#{eventCreateEditModel.projectEvent.projectEventId==0}">
                    <ui:include src="eventCreateEditCosts.xhtml"/>
            </p:tab>