0

毎回異なるデータを入力して、複数回実行する必要があるレポートがあります。各レポートには、それを一意に識別するページ ヘッダー、実際のデータ本体、[x/y ページ] 形式のページ数を含むフッターがあります。もちろん、各レポートを個別に実行することもできますが、すべてのレポートにページ番号が必要です。そのため、2 回実行し、1 回目は 3 ページ、2 回目は 2 ページの場合、フッターには各レポートの下部に [x/5 ページ] と表示されます。

マスターレポートを作成してレポートを埋め込んでみましたが、ページヘッダーが表示されません。それらを個別に実行し、パラメーターを渡してページ番号を調整することも検討しましたが、明らかにレンダリングする必要があります各レポートでページの合計を確認し、各レポートを再レンダリングして、フッターに正しいページの合計が表示されるようにします。

助言がありますか?明らかに欠けているものはありますか?

4

1 に答える 1

0

誰かが同様の状況に陥った場合に備えて、私の解決策は次のとおりです。

最初に私のデータセットを説明します:

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

public Bar
{
  string b;
  string c;
}

List<Foo> allFoos;

基本的に、マスター レポートに渡した allFoos オブジェクトを用意してから、対応する Bar オブジェクトをサブレポートに渡そうとする代わりに、新しいオブジェクトを作成しました。

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

List<FooBar> allFooBars;

だから基本的に私はデータを平坦化しました。そこから、1 つのレポートを作成しました。DataSet として「FooBar」を持つテーブルを 1 つ追加し、「allFooBars」のコレクションを渡しました。また、レポートにフッターを作成して、すべてのページで一貫したページングができるようにしました。次に、グループ化を使用して「Foo」オブジェクトをまとめました。グループで、「開始時に改ページ」、「グループヘッダーを含める」、および「グループヘッダーを繰り返す」オプションをtrueに設定しました。次に、グループ ヘッダーをグループ ヘッダーと共にページ ヘッダーに偽装するように設定しました (基本的にはグループ ヘッダーの 5 行だけで、そのうちの 1 行はスペースを確保するために空白でした)。

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

于 2009-04-10T21:30:20.093 に答える