- - PR -
Active Reportについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-31 06:53
VB.NET2003 の環境で
Active Report1.0 を使用しています。 以下のことをしたいのですが、帳票ツールははじめてなのでアドバイスを頂けないでしょうか? レポートの詳細セクションに以下のように出力したいです。 aaa bbb ccc 小計 --- --- ---- ---- 01 001 10 <--NULL 01 002 20 <--NULL 01 003 30 60 02 001 15 <--NULL 02 002 10 25 aaaごとのcccの合計をbbbの最終行に出したいのですが、 方法がわかりません。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-07-31 10:06
書いてくださった図を拝見する限りでは、"bbb の最終行" に出力したいのではなく、'aaa 単位の最終行の小計列' に出力したいのではないでしょうか? もしそうであれば 「オーバーレイ (重ねる・上におくの意)」 が使えます。グループ セクションを追加して集計結果をグループ フッタに出力し、グループ フッタをオーバーレイします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-07-31 11:26
オーバーレイでしょうね。
それ以外で実現するとすれば、ActiveReportでうんぬんするのではなく ActiveReportの制御に投げ渡す前に編集すればよろしいかと。 集計ロジックをコーディングすることになりますが…。 クエリ文でもいいでしょうし(クエリ一発は難しいかな?) DataTableを編集するのでもいいでしょう。 | ||||||||
|
投稿日時: 2007-07-31 13:32
返信ありがとうございます。
ActiveReportのヘルプはを見ているのですが、 「グループ セクション」の追加は、どのようにするでしょうか? 右クリックで挿入で出てくるのは、グループフッタです。 後、Overlayメソッドのサンプルソースには、 ///// For i = 0 To rpt.Document.Pages.Count - 1 rpt.Document.Pages(i).Overlay(rpt2.Document.Pages(0)) Next /// のように書いてますが、よくわりません。 (今回の場合にはFor文でまわす必要があるでしょうか?) 真にお手数すが、 簡単でいいので、サンプルのソースを教えて頂けでないでしょうか? よろしくお願いします。 | ||||||||
|
投稿日時: 2007-07-31 14:11
「グループ フッタ」 で良いのではないでしょうか。
実際に試行すればどのような動作をしているのか確認できます。 今回の場合に限らず、何をどこにオーバーレイするのかというコトを考えると良いでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-08-03 07:13
遅くなりましたが、できました。ありがとう御座いました。
ひとつ疑問があり、追加質問させていただきます。 GroupHeaderのプロパティにDATAFIELDのプロパティが ありますが、一つの設定では、うまくいくのですが、 二個設定する方法がわかりません。 グループが、例えば、行番号、子番号の二個キーで グループ変わる場合に設定方法がわかりません。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-08-03 09:12
グループを 2つ入れ子にして外側のグループのヘッダとフッタの高さを 0 にします。またはデータソース側で 2つの項目を連結しておくというのもあり。 | ||||||||
|
投稿日時: 2007-08-03 09:34
ということであれば、未記入さんの前者の方法 (グループ セクションのネスト) をお勧めします。 デザイナからもキーの上位下位関係がわかりやすいです。 上位のセクションを表示したくない (マージンが必要ない) 場合は、これまた未記入さんの仰るとおりヘッダとフッタの高さを 0 にしましょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |