2016-11-29 4 views
0

FlexCelレポートに渡すDataTableがあります。これにはさまざまな数の列が含まれているため、フルデータセット機能(例:<#table_name.*>)を使用しています。フルデータセットを出力するときにフィールドのリストをフィルタリングすることはできますか?

ただし、フィールドのサブセットのみが動的に生成されます(可変数の添付ファイルがあります)。各添付ファイルの列名は、共通の単語(「添付ファイル0」、「添付ファイル1」など)で始まります。

私がしたいのは、既知の有限の一連のフィールドと、次に可変数の添付ファイルを出力することです。 <#table_name.Attachment*>(と<#table_name.Attachment**>)のようなものを書くことができればいいです。 FlexCel Reportsで同じ結果を達成できる方法はありますか?

このようなソリューションの副次的な利点は、既知の/有限のフィールドセットの書式設定を維持できることを意味します。

更新

非希望列/データが削除されるように、私は、ドキュメントに<#delete column>タグとそれぞれのプレースホルダ列を追加しました。

これは機能しますが、理想的ではありません。たとえば、列幅をページ幅(印刷プレビュー)に収める方法を見たい場合は、列を非表示にする必要があります。それから私はそれらを再び隠すことを忘れてはならないので、他の開発者が私の便利な作業を見たり理解したりすることができます。

フィールドにフィルタをかけてドキュメントに出力することができれば、はるかに単純です。

答えて

0

この問題の代替方法があることに気付きました。データを2つのデータセット、つまり<#table_name.*><#table_name_attachments.*>に分割しました。

フィールドの固定セットは最初のテーブルにあり、可変フィールドセットは2番目のテーブル(すべての「添付ファイル*」フィールド)にあります。レポートが実行されると、同じワークシート内で同じ順序で隣り合わせに配置されます。つまり、1つのシートに2つのテーブル範囲 - "_table_name_""_table_name_attachments_"があることを意味します。

これで、削除する列を非表示/再表示せずに印刷プレビューを実行できます。私は人間のエラーも排除しました。間違ってパディング/削除列の数を誤って設定するのは簡単でした。

関連する問題