【问题标题】:How to Export only selected columns using columnToggler如何使用 columnToggler 仅导出选定的列
【发布时间】:2016-05-09 12:25:42
【问题描述】:

在这里,我在 primeFaces 中为我的表使用 dataExporter,它已成功导出为 type="xls" 但问题是,此外,我使用 columnToggler 选择列,我只想将这些列作为导出目标xls 文件,这些在 columnToggler 中被选中/选择,例如:

这是我的 dataExporter 的代码,它针对我的表 (id = "tbl")。

    <h:commandLink>
  <img src="Resources/images/excel.png"/>
   <p:dataExporter type="xls" target="tbl" fileName="dailyPoolReport_#{userAuthorization.user.loginName}" pageOnly="false" postProcessor="#{customizedDocumentsView.postProcessXLS}"/>
   </h:commandLink>

这是我使用 columnToggler 的表格代码:

 <p:dataTable id="tbl" var="car" value="#{dailyTrackingBean.trackReportData}" rowIndexVar="row" style="font-size:12px; margin-bottom:0;"
                                                 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                                 rowKey="#{car.vehicle.regNo}"
                                                 paginator="true" rows="50" rowsPerPageTemplate="50,100,500,1000,5000">


<f:facet name="header" >
 <h:outputText value="Vehicle Tracking Summary Report" style="font-size: 14px"/>

   <p:commandButton id="toggler" type="button" value="Columns" style="float:right;height: 22px;font-size: 11px" icon="ui-icon-calculator" />
<p:columnToggler datasource="tbl" trigger="toggler" >

  </p:columnToggler>

 </f:facet>

有什么可能的解决办法吗?

【问题讨论】:

    标签: jsf primefaces datatable xls data-export


    【解决方案1】:

    为此,您可以使用类似于以下内容的内容: http://blog.primefaces.org/?p=3341

    因此,您可以拥有一个布尔值列表,该列表代表属性“可见”的工具,并且可以将其用于“可导出”

    例如:

    <f:facet name="header">
       List of Cars
       <p:commandButton id="toggler" type="button" value="Columns"  style="float:right" icon="ui-icon-calculator" />
       <p:columnToggler datasource="cars" trigger="toggler">
         <p:ajax event="toggle" listener="#{dtBasicView.onToggle}" />
       </p:columnToggler>
    </f:facet>
    
    
    
     <p:column headerText="Id" visible="#{dtBasicView.list[0]}" exportable="#{dtBasicView.list[0]}">
                       <h:outputText value="#{car.id}" />
     </p:column>
    

    另一个优点 - 如果您使用上述内容也可以避免:
    * 问题(columntoggler 和分页)
    * 问题(columntoggler 和 globalfilter)

    希望对你有帮助:)

    【讨论】:

    • 这对我有用。希望由于我使用的是动态生成的列(即 ),我需要在 标记中使用“更新”属性,否则可见和可导出属性将不会显示在 jsf 页面上.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2015-01-16
    • 2011-03-27
    • 2018-04-15
    相关资源
    最近更新 更多