2009-04-10 20 views
0

毎回異なるデータを入力して複数回実行する必要があるというレポートがあります。各レポートには、それを一意に識別するページヘッダー、実際のデータ本体、[xページのyページ]形式のページ数を含むフッターがあります。明らかに、私は別々に各レポートを実行することができましたが、すべてのレポートにページ番号が必要です。だから私が2回走っていて、最初に3ページ、2ページ目に2ページがあると、フッタは各レポートの最下部に[x 5ページ]を表示します。ReportViewer:複数のレポートを1つのレポートにまとめる

マスターレポートを作成してレポートを埋め込むだけでしたが、ページヘッダーが表示されず、別々に実行してページ番号を調整するパラメータを渡すことも考えましたが、それぞれのレポートをレンダリングし、ページの合計を見つけてから、フッターに正しいページの合計を持つように各レポートを再レンダリングする必要があります。

提案がありますか?私が明らかに欠けているものは何ですか?ここでは誰もが似たような状況に実行して終了する場合には

答えて

0

は、私の解決策だった:

私のデータセットを説明することはまず:allFoosを持つのではなく、基本的には

public Foo 
{ 
    string a; 
    List<Bar> subInfo; 
} 

public Bar 
{ 
    string b; 
    string c; 
} 

List<Foo> allFoos; 

は、私が主人に渡したオブジェクトレポート、その後、サブレポートに対応するバーオブジェクトを渡すためにしようと、私は新しいオブジェクトを作成しました:

Public FooBar 
{ 
    string a; 
    string b; 
    string c; 
} 

List<FooBar> allFooBars; 

だから基本的に私は、データをフラット化。そこから私は単一のレポートを作成しました。 DataSetとして "FooBar"を持つテーブルを1つ追加し、 "allFooBars"のコレクションに渡しました。また、レポートにフッタを作成して、すべてのページにわたって一貫したページングを行うようにしました。私はグループ化を使って "Foo"オブジェクトを一緒に保ちました。グループでは、「ページ区切りを開始」と「グループヘッダーを含める」と「グループヘッダーを繰り返し」オプションをtrueに設定しました。その後、私はちょうどグループヘッダー(基本的にちょうど5行のグループヘッダー、そのうちの1つはスペースを提供するために空白だった)と一緒に私のページヘッダーであることを偽装するために、グループヘッダーを設定しました。

それは基本的にそれでした。

関連する問題