我在dataTable中使用rowIndexVar来添加显示行号的列。它在显示我的dataTable时工作,但是当通过pe:exporter下载时,数字显示为字符串“#{rowIndex + 1}”而不是它们的值。 这是我的代码:
<p:dataTable var="table"
value="#{myBean.dataTable}"
id="results" scrollable="true" scrollRows="10"
rowIndexVar="rowIndex" scrollHeight="300"
resizableColumns="true" liveResize="true">
<p:column headerText="obs" width="30"
style="text-align: center">
#{rowIndex+1}
</p:column>
<p:columns var="data" columnIndexVar="index"
value="#{myBean.dataColumns}">
<f:facet name="header">
<h:outputText value="#{data}" />
</f:facet>
<h:outputText value="#{table[index]}" />
</p:columns>
</p:dataTable>
<!--*******Export******* -->
<p:spacer height="10" />
<h:panelGrid width="100">
<p:panel header="Exporter">
<p:row>
<p:column>
<p:commandLink id="pdf" ajax="false">
<p:graphicImage
value="/resources/images/icons/export/pdf.png" />
<pe:exporter type="pdf" target="results"
fileName="table" />
</p:commandLink>
</p:column>
<p:column>
<p:commandLink id="excel" ajax="false">
<p:graphicImage
value="/resources/images/icons/export/excel.png" />
<pe:exporter type="xlsx" target="results"
fileName="table" />
</p:commandLink>
</p:column>
</p:row>
</p:panel>
</h:panelGrid>
顺便说一下,可调整大小的列不起作用,如果你有一个想法,它会很棒。
感谢。
答案 0 :(得分:0)
试试这个
<p:dataTable var="table"
rowIndexVar="rowIndex" >
<p:column headerText="obs" width="30"
style="text-align: center">
<h:outputText value= "#{rowIndex+1}"/>.