2016-09-20 3 views
0

何も起こらないように、エクスポータボタンをクリックしたときにPrimefaces 5.3データエクスポータが表示されません。私は輸出業者と他のデータテーブルを持っていますが、これは動作しない唯一のものです。Primefacesデータエクスポータが動作しない

ここに私のコードです。

<p:dataTable id="tardinessTable" widgetVar="tardinessTableWV" 
       value="#{tardinessBacking.tardinessRecords}" 
       filteredValue="#{tardinessBacking.filteredTardinessRecords}" 
       var="tard" rendered="#{tardinessBacking.showTable}" 
       selection="#{tardinessBacking.selectedTardinessRecords}" 
       sortMode="multiple" rowKey="#{tard}" paginator="true"> 
       <f:facet name="header"> 
        <p:panelGrid styleClass="full-width"> 
         <p:row> 
          <p:column style="width: 16%"> 
           <p:commandButton value="Print Reminder" icon="ui-icon-print" 
            rendered="#{tardinessBacking.showTable}" 
            action="#{tardinessBacking.printReport(type)}" target="_blank" 
            ajax="false" update="@form" /> 
          </p:column> 
          <p:column style="width: 27%; text-align: center"> 
           <p:outputLabel style="padding-left: 10px" 
            value="Filter by number of occurence: " /> 
          </p:column> 
          <p:column style="width: 7%; text-align: center"> 
           <p:inputText value="#{tardinessBacking.filterOccurence}" 
            onkeyup="PF('tardinessTableWV').filter()"> 
            <p:ajax event="change" global="false"></p:ajax> 
           </p:inputText> 
          </p:column> 
          <p:column style="width: 15%; text-align: center"> 
           <p:outputLabel style="padding-left: 10px" 
            value="Filter by month: " /> 
          </p:column> 
          <p:column style="width: 30%"> 
           <p:selectOneMenu value="#{tardinessBacking.filterMonth}" 
            onchange="PF('tardinessTableWV').filter()"> 
            <f:selectItem itemLabel="- Select Month - " itemValue="" 
             noSelectionOption="true" /> 
            <f:selectItem itemLabel="January" itemValue="0" /> 
            <f:selectItem itemLabel="Febuary" itemValue="1" /> 
            <f:selectItem itemLabel="March" itemValue="2" /> 
            <f:selectItem itemLabel="April" itemValue="3" /> 
            <f:selectItem itemLabel="May" itemValue="4" /> 
            <f:selectItem itemLabel="June" itemValue="5" /> 
            <f:selectItem itemLabel="July" itemValue="6" /> 
            <f:selectItem itemLabel="August" itemValue="7" /> 
            <f:selectItem itemLabel="September" itemValue="8" /> 
            <f:selectItem itemLabel="October" itemValue="9" /> 
            <f:selectItem itemLabel="November" itemValue="10" /> 
            <f:selectItem itemLabel="December" itemValue="11" /> 
           </p:selectOneMenu> 
          </p:column> 
         </p:row> 
        </p:panelGrid> 
       </f:facet> 
       <ui:include src="/WEB-INF/common/exporters.xhtml"> 
        <ui:param name="target" value="tardinessTable" /> 
        <ui:param name="fileName" value="tardiness-report" /> 
       </ui:include> 
       <p:column style="width:4%;text-align:center" 
        selectionMode="multiple" /> 
       <p:column headerText="Name" sortBy="#{tard.fullName}" 
        filterBy="#{tard.month}" 
        filterFunction="#{tardinessBacking.filter}" style="width: 12%"> 
        <h:outputText value="#{tard.fullName}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[0].count}" sortable="true" 
        headerText="Jan" style="width: 7%; text-align: center" 
        styleClass="#{tard.month[0].style}"> 
        <h:outputText value="#{tard.month[0].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[1].count}" headerText="Feb" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[1].style}"> 
        <h:outputText value="#{tard.month[1].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[2].count}" headerText="Mar" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[2].style}"> 
        <h:outputText value="#{tard.month[2].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[3].count}" headerText="Apr" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[3].style}"> 
        <h:outputText value="#{tard.month[3].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[4].count}" headerText="May" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[4].style}"> 
        <h:outputText value="#{tard.month[4].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[5].count}" headerText="Jun" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[5].style}"> 
        <h:outputText value="#{tard.month[5].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[6].count}" headerText="July" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[6].style}"> 
        <h:outputText value="#{tard.month[6].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[7].count}" headerText="Aug" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[7].style}"> 
        <h:outputText value="#{tard.month[7].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[8].count}" headerText="Sep" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[8].style}"> 
        <h:outputText value="#{tard.month[8].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[9].count}" headerText="Oct" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[9].style}"> 
        <h:outputText value="#{tard.month[9].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[10].count}" headerText="Nov" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[10].style}"> 
        <h:outputText value="#{tard.month[10].count}"/> 
       </p:column> 
       <p:column sortBy="#{tard.month[11].count}" headerText="Dec" 
        style="width: 7%; text-align: center" 
        styleClass="#{tard.month[11].style}"> 
        <h:outputText value="#{tard.month[11].count}"/> 
       </p:column> 
      </p:dataTable> 

exporters.xhtml

<f:facet name="#{core.paginationExporter}"> 
     <span class="right export"> <h:commandLink 
       title="Export to Excel"> 
       <p:graphicImage library="images" name="export-xls.png" /> 
       <p:dataExporter type="xls" target="#{target}" fileName="#{fileName}" /> 
      </h:commandLink> <h:commandLink title="Export to PDF"> 
       <p:graphicImage library="images" name="export-pdf.png" /> 
       <p:dataExporter type="pdf" target="#{target}" fileName="#{fileName}" /> 
      </h:commandLink> <h:commandLink title="Export to CSV"> 
       <p:graphicImage library="images" name="export-csv.png" /> 
       <p:dataExporter type="csv" target="#{target}" fileName="#{fileName}" /> 
      </h:commandLink> 
     </span> 
    </f:facet> 

答えて

0

私はすでにそれを把握します。これは、レンダリングされた= "#{tardinessBacking.showTable}"というデータテーブルのためです。データをエクスポートする前に、データレンダリングを事前レンダリングする必要があることを認識しています。

関連する問題