2

Crystal Reports XIをC#VisualStudio2005で使用しています。サマリーデータセットからサブレポートを作成しようとしています。簡単な例は、従業員がいる会社のリストです。Companyデータセットを(CompanyIdを使用して)ロードします。CompanyIdによってリンクされ、データセットが(明らかに)オンデマンドでロードされるサブレポートを作成したいと思います。すべての詳細を1つのモンスターデータセットにロードすると、このサブレポートを作成できますが、実際の実装では、これには数百万の詳細行のロードが含まれます(オプションではありません)。

SubReportイベントをキャプチャし、データベース接続からデータセットをロードする方法はありますか?基本的に、サブレポートリンク呼び出しをインターセプトして、データセットを自分で構築したいと思います。

4

1 に答える 1

1

これは簡単に可能です。持っている xsd データセットに 2 つのデータ テーブルを作成します。共通の ID/キー値に基づいて、これら 2 つのデータ テーブルの値を取得します。1 つのデータセット テーブルを別のデータセット テーブルにコピーする

ds2.Tables.Add(ds1.Tables[0].Copy());  

それから、

rpt.Load(path + @"Report\Report1.rpt");
rpt.SetDataSource(ds2); //datasource is single
crystalReportViewer.ReportSource = FFrpt;

サブレポートを追加するときに、2 番目のテーブルをデータソースとその値として取得します。これらのフィールドをサブレポートに追加してください。

よろしくシャム

于 2011-05-04T07:33:40.567 に答える