2013-07-30 5 views
0

PrimeFaces 3.2를 사용하고 있으며 동적으로 생성 된 테이블을 .xls 파일로 내보내고 싶습니다. 나가 수출을 클릭 할 때, 아무 것도 일어나지 않는 것처럼 보인다.PrimeFaces 3.2 dataExporter가 작동하지 않습니다.

수출 코드

<h:commandLink id="Download_Excel_Format" ajax="false"> 
<p:graphicImage value="/resources/Excel_Icon.jpg" height="25" width="25" /> 
<p:dataExporter type="xls" target="dataTable" fileName="SomeFileName"/> 
</h:commandLink> 

데이터 테이블

<p:dataTable id="dataTable" var="c" value="#{databaseSearch.customerList}" 
            paginator="true" rows="10" paginatorAlwaysVisible="false" 
            paginatorTemplate="Page {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Rows per page {RowsPerPageDropdown}" 
            rowsPerPageTemplate="5,10,15,30"> 

          <p:column> 
           <f:facet name="header"> 
            <h:outputText value="Machine" /> 
           </f:facet> 
           <p:commandButton id="basic" value="#{c.machine}" action="#{updateEntry.setMachine(c.machine)}" oncomplete="dlg1.show();" styleClass="ui-Machinebutton" update=":Update_Entry"/> 
           <p:tooltip for="basic" value="Update/Delete Database Entry" showEffect="fade" hideEffect="fade" /> 

          </p:column> 

          <p:column> 
           <f:facet name="header"> 
            <h:outputText value="Company" /> 
           </f:facet> 
           <h:outputText value="#{c.company}" /> 
          </p:column> 

          <p:column> 
           <f:facet name="header"> 
            <h:outputText value="Contact" /> 
           </f:facet> 
           <h:outputText value="#{c.contact}" /> 
          </p:column> 

          <p:column> 
           <f:facet name="header"> 
            <h:outputText value="Phone" /> 
           </f:facet> 
           <h:outputText value="#{c.phone}" /> 
          </p:column> 

          <p:column> 
           <f:facet name="header"> 
            <h:outputText value="Email" /> 
           </f:facet> 
           <!-- <h:outputText value="#{c.email}" />--> 
           <h:outputLink value="mailto:#{c.email}?Subject=Baseline Monitor Alert | Machine : #{c.machine}">#{c.email}</h:outputLink> 
          </p:column> 

         </p:dataTable> 

모두 데이터 테이블 및 내보내기 명령이다 하나 개의 형태에서, 그러나 데이터 테이블이 (형태 내에서)을 출력 패널에 .

양식

<h:form prependId="false" id="Main_Form"> 
</h:form> 

출력 패널

<p:outputPanel id="panel" autoUpdate="false"> 
</p:outputPanel> 

나는 심지어 dataExporter 일하는 것이 있는지 확인하기 위해 PrimeFaces 3.4.2로 업데이트,하지만 소용이, 지금까지 내가 기억하지로 3.2에서 dataTable이 동적으로 열을 생성하면 버그가 발생하지만 여기서는 그렇지 않습니다. 내가 뭐 잘못하고있는거야?

dataExporter 옵션이 훨씬 간단 해 보이지만 충분히 간단한 대안이 있다면 나는 그것을 위해 노력하고 있습니다.

업데이트

내가 3.1.2.2 & 넷빈즈 7.2.1 (5 구축)는 글래스 피쉬를 사용하고, 나는 오류, 그냥 페이지 새로 고침의를 얻을하지 않습니다 끝에 '#'을 가지고 URL 및 중지, 아무런 의미도 내가 어떤 의존성도 부족하지 않다는 것을 의미합니다 ... 그래서 여기에 분실 ...

답변

0

좋아, 내가 대답을 찾았어요! 까다로운 하나 ... 나는 id = submit ...와 commandButton을 가지고 있었다. 이름이 바뀌었고 그것은 트릭을했다!

<p:commandButton id="xsubmit" icon="ui-icon-search" title="Search Database" update="panel" actionListener="#{databaseSearch.customerList}" /> 
+0

나는 동일한 문제에 직면하고 있습니다. 나는 그것이 작동하는 데이터 수출업자 만 가지고있는 하나의 프로젝트를 가지고있다. 하지만 내 주요 프로젝트에서 구현하려고하면 작동하지 않습니다. 도와주세요. 나는 탭뷰를 사용하고 있고 탭 중 하나에서 데이터 테이블을 가지고있다. –

+0

@ArunRaja 버튼에 고유 한 ID가 할당되어 있는지 확인하십시오. –

+0

단추에는 고유 한 ID가 할당되어 있습니다. 데이터 형식으로 데이터를 입력하는 데 사용되는 탭 하나와 입력 된 값을 표시하는 다른 탭이 있습니다. 제출시 나는 값을 데이터베이스에 저장하고 데이터베이스에서 값을 표시합니다. 코드의 데이터 입력 부분을 제거하면 pdf로 다운로드가 가능합니다. 그렇지 않으면 클릭 할 때 페이지가 새로 고쳐집니다. –