次の方法で共有


要求を削減するためのサブレポートの再デザイン

Crystal Reports for Visual Studio プロジェクトのスケーラビリティを最適化する方法の 1 つとして、サブレポートの呼び出しをリファクタして要求を削減する方法があります。

サブレポートの使用について

サブレポートはしばしば複雑なレポートの作成に使用されるため、かなりの負荷がかかります。サブレポートを一切使用すべきでないということではありませんが、できる限り使用を控えてください。

また、サブレポートが、グループ ヘッダーや詳細セクションなど繰り返し使用されるセクションに置かれていると、サブレポートの各インスタンスにはそれ自体のレポート ジョブが必要になりします。たとえば詳細セクション内のサブレポートに 100 件のレポートが使用されていると、実際は 101 件のレポート ジョブが実行されることになります。

レポートにリンクされた .NET DataGrid コントロールとしてのサブレポートのリファクタ

サブレポートは、集計/詳細モデルで頻繁に使用されます。

  • メイン レポートには、集計行が表示されます。
  • 各行は詳細レポートを含むサブレポートにリンクしています。

印刷する必要がない集計データについては、レポートではなく行リストに表示することを検討してください。つまり、レポートを詳細が記されている複数のサブレポートにリンクしている集計として使用するよりも、.NET DataGrid コントロールを、詳細が記されている複数の通常のレポートにリンクしている集計として使用します。.NET DataGrid コントロールを集計に使用すると、より簡単で拡張性のあるソリューションが実現します。

これをビルドするには、結果のデータ セットを、各行 ID とレポートとのリンクと共に DataGrid コントロールにバインドします。単一のレポートが各行に(DataGrid 行 ID の URL から固有の ID を受け入れるパラメータ付きで)使用されます。

このシナリオでは、DataGrid が表示されてもレポート処理は発生しません。レポートが処理されるのは、DataGrid 内のリンクの 1 つが選択された場合のみです。