2009-08-22 3 views
0

WebプロジェクトでTelerikレポートが急速に増えています。私のデータ提供戦略は、各レポートに、SQLクエリを含む会社テキストファイルがあることです。私は長いxが(y、z、a、b、c ....)、または((x = 1)と(x <))のような複雑なフィルタ基準を処理し、テキストファイルのクエリでテキスト置換を行ってから、レポートのDataTableを取得します。[Telerik]レポートのコレクションのメタデータを報告する

すべてのレポートは、Telerik.Reporting.Reportから派生したクラスであり、レポートのビジネスタイトルやレポートのプログラム名など、レポートメタデータとして機能するプロパティは制限されています。レポートカテゴリ、レポートのSQLクエリファイルの名前、レポートの代替表示ページ、レポートで無効にする共通フィルタパラメータのサブセットなどの属性のフィールドはありません。

ここで最初に候補となるソリューションは魅力的ではないことがわかりました。ファイル、Web.config、またはデータベーステーブルのいずれかにある「レポート設定」ストアを作成し、管理します。この店舗は実際のレポートとは離婚しており、店舗や店舗で働くことは頻繁で迷惑なコンテキストスワップを必要とします。

私は、ダイナミックデータメタデータスキームと同様のものを使用します。ここでは、エンティティクラスの属性がエンティティのメタデータを保持する別のクラスを指定します。また、Telerik.Reporting.Reportを拡張して、レポートにアタッチしたい属性の辞書を追加し、そこからすべてのレポートを派生させることもできます。

私の現在の考えに対する批判、または他の選択肢に関する提案は感謝します。

答えて

0

Telerikレポート定義は純粋なC#/ VBクラスに過ぎないため、レポートでメタデータを組み込むための「標準的な」C#アプローチを使用することができます。派生したレポートクラスでは、設定を管理するために必要なフィールドやプロパティを追加することができます。また、プロジェクト内でReportを拡張して、より洗練されたソリューションを作成することもできます。

Telerik Reportingの現在のバージョンでは、レポート属性を設定するためのネイティブメタデータソリューションは提供されていませんが、非常に興味深い考えです。私はTelerikの報告チームにこの考え方の体重測定を依頼したので、すぐに詳しい指針を提供する必要があります。

当面は、すべてのプロジェクトレポートで必要な「設定」値を簡単に設定できるように計画された「レポート基本クラス」を適切に実行していると思います。

関連する問題