WebプロジェクトでTelerikレポートが急速に増えています。私のデータ提供戦略は、各レポートに、SQLクエリを含む会社テキストファイルがあることです。私は長いxが(y、z、a、b、c ....)、または((x = 1)と(x <))のような複雑なフィルタ基準を処理し、テキストファイルのクエリでテキスト置換を行ってから、レポートのDataTableを取得します。[Telerik]レポートのコレクションのメタデータを報告する
すべてのレポートは、Telerik.Reporting.Report
から派生したクラスであり、レポートのビジネスタイトルやレポートのプログラム名など、レポートメタデータとして機能するプロパティは制限されています。レポートカテゴリ、レポートのSQLクエリファイルの名前、レポートの代替表示ページ、レポートで無効にする共通フィルタパラメータのサブセットなどの属性のフィールドはありません。
ここで最初に候補となるソリューションは魅力的ではないことがわかりました。ファイル、Web.config、またはデータベーステーブルのいずれかにある「レポート設定」ストアを作成し、管理します。この店舗は実際のレポートとは離婚しており、店舗や店舗で働くことは頻繁で迷惑なコンテキストスワップを必要とします。
私は、ダイナミックデータメタデータスキームと同様のものを使用します。ここでは、エンティティクラスの属性がエンティティのメタデータを保持する別のクラスを指定します。また、Telerik.Reporting.Report
を拡張して、レポートにアタッチしたい属性の辞書を追加し、そこからすべてのレポートを派生させることもできます。
私の現在の考えに対する批判、または他の選択肢に関する提案は感謝します。