我正在使用PrimeFaces 3.2并希望将动态创建的表导出为.xls文件。当我点击导出时,似乎没有任何事情发生。
导出代码
<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>
的dataTable
<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>
dataTable和Export命令都在一个表单中,但dataTable在输出面板中(在表单中)。
表格
<h:form prependId="false" id="Main_Form">
</h:form>
输出面板
<p:outputPanel id="panel" autoUpdate="false">
</p:outputPanel>
我甚至更新到PrimeFaces 3.4.2以查看dataExporter是否可行,但无济于事,据我所知3.2如果dataTable动态生成列有错误,但这不是正确的情况吗?我做错了什么?
dataExporter选项看起来要简单得多,但是如果有一个很简单的替代方案我就可以了。
更新
我正在使用GlassFish 3.1.2.2(版本5)&amp; NetBeans 7.2.1,我没有得到任何错误,只是页面刷新,在URL的末尾有一个“#”并停止,没有错误意味着我也不缺乏任何依赖...所以我迷失在这里...
答案 0 :(得分:0)
好的,我找到了答案!虽然棘手,但我有一个带有ID = submit的commandButton ...重命名了它就行了!
<p:commandButton id="xsubmit" icon="ui-icon-search" title="Search Database" update="panel" actionListener="#{databaseSearch.customerList}" />