【问题标题】:Primefaces datatable row expansion exportingPrimefaces 数据表行扩展导出
【发布时间】:2015-01-26 12:20:37
【问题描述】:

我需要在 primefaces 中导出数据表行扩展,但我无法弄清楚。反正有这样做吗? 提前致谢。

【问题讨论】:

  • PF 版本? PF 导出器似乎不支持行扩展检查 this 并检查 Primefaces Extensions 似乎在某种程度上支持它
  • PF 版本为 5.0。感谢您的链接,它们将非常有用。

标签: jsf primefaces


【解决方案1】:

您可以在没有其他 Java API 的情况下使用 rowExpansion 数据导出 PrimeFaces DataTable,或者您可以通过 Apache POI API 帮助在 ManagedBean 类上使用自定义导出方法。

这里的技巧是,将要导出的列添加到文件中,并将 visible=”false” 属性附加到这些列。 然后将 exportable=”false” 属性附加到 p:rowToggler 列。

因此,您不会看到数据表列,但会在导出的文件中看到这些列。

从here获得

<h:form id="myDtTblFrm">

<h:commandLink>
    <img src="../ims/excel.png"/>
    <p:dataExporter type="xlsx" target="myTbl" fileName="myExcelFile"/>
</h:commandLink>

<p:dataTable id="myTbl" var="item" value="#{myBean.list}">

    <p:rowExpansion>
            <p:panelGrid columns="2" columnClasses="label, value" style="width: 50%">
                    <h:outputText value="Column Header 04" />
                    <h:outputText value="#{item.property04}" />

                    <h:outputText value="Column Header 05" />
                    <h:outputText value="#{item.property05}" />
            </p:panelGrid>
    </p:rowExpansion>

    <p:column exportable="false">
            <p:rowToggler />
    </p:column>

    <p:column headerText="Colum01">
        <p:outputLabel value="#{item.property01}" />
    </p:column> 
    <p:column headerText="Column02" visible="false" >
        <p:outputLabel value="#{item.property02}" />
    </p:column>
    <p:column headerText="colum03" >
        <p:outputLabel value="#{item.property03}" />
    </p:column>
    <p:column headerText="colum04" style="display: none">
        <p:outputLabel value="#{item.property04}" />
    </p:column>
    <p:column headerText="colum05" style="display: none">
        <p:outputLabel value="#{item.property05}" />
    </p:column>
</p:dataTable>

【讨论】:

  • 请在答案本身中包含您的代码示例,而不是链接到它。链接可能会失效,或者链接到的网站可能会随着时间而改变。
  • 展开的行需要 colspan 来包含隐藏的列,因此它会更长。如果有办法将行扩展的 colspan 减少一个,这是一个很好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
相关资源
最近更新 更多