残念ながら、OpenFaces Datatableには、PrimefacesやIceFacesとは異なり、まだエクスポート機能がありません。エクスポートは簡単ですが、IceFacesまたはprimefacesデータテーブルのフィルタリングは簡単ではありませんが、primeFacesのフィルタリングはJSF DataModelでは機能しません(悲しいですが本当です)。
OpenFaces DataTableフィルタリングの使用は簡単で、とても便利で強力です。しかし、フィルタリングしたデータテーブルをCSVやMSExcelなどの形式にエクスポートしたいエンドユーザーはどうでしょうか。
OpenFacesのすばらしいDmitryから、ヒントが得getDisplayedRowDatas()
られました。OpenFacesDataTableメソッドを使用してください。データテーブルから現在表示されている行を取得し、Itextなどのthridライブラリを使用してPDFでエクスポートします。
私の頭の中では、これは次のようになります。
- この目的のためにバッキングBeanを作成します。
- クラスパスにApachePOIの3番目のライブラリを追加します
- Apache POIを使用してコードを記述し、そのメソッドでOpenFacesデータテーブルのコンテンツをエクスポートします
getDisplayedRowsDatas()
-しかし、このメソッドは列のヘッダーの名前を返さないのではないかと思います-または、OpenFaces DatatableによってレンダリングされたHTMLテーブルをバッファリングされた文字列として取得し、Apacheを使用しますバッファでストリーミングされたExcelファイルを生成するPOI。
最近出会ったMyFacesの例:MyFaces Datatable Export Exampleでは、開発者はMyfacesコンポーネント<t:buffer value=#{myExportBean.myBufferString}> datatable here </t:buffer />
を使用して、データテーブルのコンテンツをバッファリングされた文字列に変換します。これにより、作業が簡単になります。残念ながら、JSFコアにはそのようなコンポーネントはありません。
誰かが以前にこれに出くわしたことがありますか?ヘルプまたはより良い代替案は大歓迎です。