- PR -

ActiveReports の ページヘッダに出すデータ

1
投稿者投稿内容
ハイエ・セラシエ
会議室デビュー日: 2007/02/21
投稿数: 6
投稿日時: 2007-04-13 22:10
すみません。教えて下さい。

ActiveReports for .NET 2.0J(VB 2005)で商品一覧の帳票を出したいのですがページヘッダに改ページ単位のグループキーを表示させようとした結果、グループキーが1ページ遅れて出てきてしまい困っています。下記がそのプログラムです。
イベントフロー的に想定の流れが間違っているのは分かるのですがどう直せばよいか分かりません。お分かりになる方がおられましたらご教授頂けます様お願い致します。

'====================================================
'データセットは外部から設定する
Friend _DataTable As DataTable

'レコードインデックスは初期値ゼロで「FetchData」の度に +1
Private _RecIndex As Integer = 0
'これが改ページキー
Private _改ページキー As String
'---------------------------------------
Sub RptXX_DataInitialize()
Me.Fields.Add("改ページキー") 'ページヘッダのフィールドを追加
Me._改ページキー = _DataTable.Rows(_RecIndex).Item("改ページキー")
Me.Fields("改ページキー").Value = Me._改ページキー
End Sub
'---------------------------------------
Sub RptXX_FetchData()
If Me._RecIndex >= Me._DataTable.Rows.Count Then
eArgs.EOF = True
Exit Sub
End If
Me._改ページキー = _DataTable.Rows(_RecIndex).Item("改ページキー")
_RecIndex += 1
End Sub
'---------------------------------------
Sub PageHeader_Format()
Me.Fields("改ページキー").Value = Me._改ページキー
End Sub
'====================================================
ハイエ・セラシエ
会議室デビュー日: 2007/02/21
投稿数: 6
投稿日時: 2007-04-13 22:47
自レスですみません。
フォントがずれそうな気はしますが出力結果はこんな感じです。

┏━━━━━━┓
┃     1┃
┃−−−−−−┃
┃キー1rec  ┃
┃キー1rec  ┃
┃キー1rec  ┃
┃キー1rec  ┃
┗━━━━━━┛
┏━━━━━━┓
┃     1┃
┃−−−−−−┃
┃キー1rec  ┃
┃キー1rec  ┃
┃      ┃
┃      ┃
┗━━━━━━┛
┏━━━━━━┓
┃     1┃
┃−−−−−−┃
┃キー2rec  ┃
┃キー2rec  ┃
┃キー2rec  ┃
┃      ┃
┗━━━━━━┛
┏━━━━━━┓
┃     2┃
┃−−−−−−┃
┃キー3rec  ┃
┃キー3rec  ┃
┃キー3rec  ┃
┃      ┃
┗━━━━━━┛

見出の右上の数字が改ページのキーです。
先頭ページは「DataInitialize」で値を入れたので合っています。
ですが3ページ目から1ページずつずれてしまいます。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2007-04-13 23:33
異なる値を持つデータをページヘッダ(ページフッタ)に配置してはいけません。ページヘッダ(フッタ)は、物理的な要素として出力が行われるからです。ページヘッダ(フッタ)に配置できるのは、常に同じ値を持つデータか物理的な要素(現在ページ番号など)だけです。

希望の動作をさせるためには、グループヘッダを代わりに使用します。ページヘッダの高さを 0 にして、いままでページヘッダに配置していた要素をグループヘッダに配置します。(帳票名などの固定要素もすべてです。) グループヘッダをページヘッダの代わりに使用するために、改ページごとに出力するようにプロパティを設定します。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2007-04-14 00:50
NAL-6295です。

未記入さんの仰っているとおり、
グループヘッダをページヘッダ代わりに使うと解決できます。

http://www.grapecity.com/Japan/Support/Search/FaqContent.asp?id=13371

このあたりを参考にすると良いと思います。
ハイエ・セラシエ
会議室デビュー日: 2007/02/21
投稿数: 6
投稿日時: 2007-04-16 04:52
レスありがとうございます。
了解しました。グループヘッダ使ってみます。
1

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