如何使用columnToggler仅导出选定的列 [英] How to Export only selected columns using columnToggler

查看:73
本文介绍了如何使用columnToggler仅导出选定的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里我在primeFaces中为我的表使用dataExporter,它已成功以type ="xls"导出,但问题是我另外使用columnToggler来选择列,而我只希望将这些列作为导出目标xls文件,可以在columnToggler中对其进行检查/选择,例如:

Here I am using dataExporter for my table in primeFaces, It is successfully exported in type="xls" but the problem is that in addition I am using columnToggler for selection of columns and i want to target only those columns for export in xls file, those are checked/selected in columnToggler like:

这是针对我的表的数据导出程序的代码(id ="tbl").

here is code of my dataExporter which targeted my table (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的表代码:

And here is my table code with 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>

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

Is there is any possible solution?

推荐答案

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

To do that you can use something similar to this: http://blog.primefaces.org/?p=3341

因此,您可以拥有一个布尔列表,该列表表示服装可见"的样式,并且可以将其用于可导出"

So you can have a list of boolean that represents the toogles for the attibute "visible" and can use the same for "exportable"

例如:

<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和globalfilter)

Another plus - If you use the above also evading:
* The problem (columntoggler and pagination)
* The problem (columntoggler and globalfilter)

希望它对您有帮助:)

这篇关于如何使用columnToggler仅导出选定的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆