- PR -

ActiveReportでのA行×B列の表作成について

1
投稿者投稿内容
ara
会議室デビュー日: 2006/06/13
投稿数: 18
投稿日時: 2006-06-22 16:09
ActiveReport初心者のため基本的なことかもしれませんが、2点ほど教えていただきたいことがあります。どちらもA行×B列のような表の出力についてです。

@【GroupeHeaderとDetail行の出力関係について】
現在25行2列のレポートを作成しようとしています。出力方向はColumnDirectionプロパティで「DownAcross」にしています。またこのレポートはサブレポートとしています。縦が25行固定としたいため、メインレポート側の下マージンの値を設定して行数を固定させています。さらに、各項目の見出しをつけたいため、サブレポート側にGroupHeaderを作成し明細にあわせた見出しをつけています。レポートを実行すると、2列目のGroupHeaderの見出しが出力されず、GroupHeaderの位置から明細が出力されます。(2列目側の明細位置が1行上に上がったようになります。)1列目の1行目(1レコードめ)の横に2列目の1行目(26レコードめ)が並ぶようにするには、どうすればいいのでしょうか?

A【A行×B列の2つの表を縦に配置するには】
@のような25行2列の表が2表あるのですが、それらを1ページ内に縦に配置したいと考えています。@で書いたように行数を固定にしたいので、メインレポートのマージン設定をしています。このため2つの表が1ページにおさまりません。1ページ内にA行×B列の表を縦に配置さす良い方法はあるでしょうか?

以上2点なのですが、上手く説明できずわかりづらいかもしれませんが、どうぞよろしくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-22 19:35
引用:

araさんの書き込み (2006-06-22 16:09) より:

現在25行2列のレポートを作成しようとしています。
またこのレポートはサブレポートとしています。縦が25行固定としたいため、メインレポート側の下マージンの値を設定して行数を固定させています。


2 列というのは 1 つの明細にフィールドが 2 つという意味なのでしょうか?
サブレポートということは、こちらのスレッドの続きでしょうか?

  ActiveReportで1頁内に複数の表を印刷するには

引用:

レポートを実行すると、2列目のGroupHeaderの見出しが出力されず、GroupHeaderの位置から明細が出力されます。(2列目側の明細位置が1行上に上がったようになります。)1列目の1行目(1レコードめ)の横に2列目の1行目(26レコードめ)が並ぶようにするには、どうすればいいのでしょうか?


このあたりは微妙ですね。
アンダーレイなどの制御が入っていないのであれば仕様のような気がします。
気になる場合は、26 件目の FetchData のタイミングで書き換えてみてはどうでしょうか?

引用:

(2) [A行×B列の2つの表を縦に配置するには]
(1)のような25行2列の表が2表あるのですが、それらを1ページ内に縦に配置したいと考えています。(1)で書いたように行数を固定にしたいので、メインレポートのマージン設定をしています。このため2つの表が1ページにおさまりません。1ページ内にA行×B列の表を縦に配置さす良い方法はあるでしょうか?


私が感じたイメージで合っているか不安ですが...
先ほどから何度も出ている 「マージンを設定して固定させている」 は、
'DownAcross' の都合によるものですよね? (折り返して 2 列で表示するため)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ara
会議室デビュー日: 2006/06/13
投稿数: 18
投稿日時: 2006-06-26 19:23
じゃんぬねっと様、お返事が遅くなりすみません!

情報が書き足りなくて申し訳なかったのですが、“2列”といいますのは、ご指摘の通り、2006-06-13にご質問させていただいた「ActiveReportで1頁内に複数の表を印刷するには」のスレッドに書きましたようなイメージです。

2列目の明細の出力が、GroupHeaderの位置にくるのは仕様なのですか…。何かプロパティ設定等で簡単に直るのかなと思っていたのですが、26件目の FetchData のタイミングで書き換えるような工夫が必要になるのですね…。

「マージンを設定して固定させている」 についても、じゃんぬねっとさんのご想像通り、25行で折り返して2列で表示さすためです。折り返すためにマージン設定を行うと、どう考えても下側に配置したいサブレポートの表が2ページ目に出力されると思うのですが…。何か工夫を凝らせば解決できるでしょうか??

以上、どうぞよろしくお願いいたします。


じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-26 19:51
引用:

araさんの書き込み (2006-06-26 19:23) より:

“2列”といいますのは、ご指摘の通り、2006-06-13にご質問させていただいた「ActiveReportで1頁内に複数の表を印刷するには」のスレッドに書きましたようなイメージです。


了解です、2 列というと DataSource の 2 フィールドのことなのか迷っておりました。

引用:

26件目の FetchData のタイミングで書き換えるような工夫が必要になるのですね…。


または、グループ ヘッダも分割すれば可能かもしれません。

引用:

「マージンを設定して固定させている」 についても、じゃんぬねっとさんのご想像通り、25行で折り返して2列で表示さすためです。


今はそれで良いかもしれませんが、プリンタ ドライバが変われば結果も変わってくる可能性がありますよ。
ですので、どのプリンタ ドライバでも対応できるように、Margin 以外の対応をした方が良いでしょう。

引用:

折り返すためにマージン設定を行うと、どう考えても下側に配置したいサブレポートの表が2ページ目に出力されると思うのですが…。何か工夫を凝らせば解決できるでしょうか??


で、問題の本質はここですよね...
出力しようとしている Position さえわかれば何とかなるのですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ara
会議室デビュー日: 2006/06/13
投稿数: 18
投稿日時: 2006-06-26 20:09
さっそくのレスありがとうございます。

グループヘッダも分割できるのですか?!(Detailのように左右に分けるということですよね?)どこでどのように設定するのでしょうか??

確かにご指摘いただいた通り、マージン設定ではプリンタが変われば結果もかわってきますよね…。
「Position」とおっしゃるのは、出力位置のことですか?出力したいサブレポート類(表)はどれも固定行数なので(行数、列数ともに変動することはありません。)出力位置は固定できるのですが…。
1

スキルアップ/キャリアアップ(JOB@IT)