DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ActiveReport.net

環境/言語:[Win 2000 Pro]
分類:[.NET]

すいません またまたActiveReportのことで質問があります。

前にも質問して教えてもらったのですが、どうもうまくいかないので・・

改ページを以下のコーディングでしようとすると2ページ目以降Detailの部分が
一行分しか出力されなくなります。

Private Sub ActiveReport1_FetchData(ByVal sender As Object, ByVal eArgs As DataDynamics.ActiveReports.ActiveReport.FetchEventArgs) Handles MyBase.FetchData

Static sCount As Short
sCount += 1

    If sCount >= 5 Then
Detail.NewPage = NewPage.after
      sCount = 0
    End IF
         (ここからは行にデータを格納するコード)
END Sub  

Detailの部分を五件出力したら次に改ページしたいのですが、
わかる方がおられましたらどうかよろしくお願い致します。
■No5743に返信(こうさんの記事)
> すいません またまたActiveReportのことで質問があります。
>
> 前にも質問して教えてもらったのですが、どうもうまくいかないので・・
>
> 改ページを以下のコーディングでしようとすると2ページ目以降Detailの部分が
> 一行分しか出力されなくなります。
>
> Private Sub ActiveReport1_FetchData(ByVal sender As Object, ByVal eArgs As DataDynamics.ActiveReports.ActiveReport.FetchEventArgs) Handles MyBase.FetchData
>
> Static sCount As Short
> sCount += 1
>
>     If sCount >= 5 Then
> Detail.NewPage = NewPage.after
>       sCount = 0
>     End IF
>          (ここからは行にデータを格納するコード)
> END Sub  
>
> Detailの部分を五件出力したら次に改ページしたいのですが、
> わかる方がおられましたらどうかよろしくお願い致します。

おはようございます。
ひとつ聞いていいかな?
データはもしかして6件しか無いってことは?
もう少し詳細な情報が無いと、今回みたいに質問なのに、質問され返される可能性があるよ。
あと、過去スレとタイトルが被るのはやめるべきであり、タイトルを読めば内容が推測できるようなものにした方がいいよ。
厳しいようだけど、マナー( http://dobon.net/vb/bbs/ )を守った範囲で質問しないと誰も書込みしてくれなくなりますよ。
ペガラボさんご指摘ありがとうございます。
確かにおっしゃる通り、マナーをきちんと守らねばならない事を痛感しました。
これからも、きずいた点があればご指摘ください。よろしくお願いします。

データの件数なのですが、150件位あり、1ページ目には5件のデータが出力
されるのですが以降のページには1件づつ145ページに渡り出力されている
といった感じです。

よろしくお願い致します。

こう
■No5743に返信(こうさんの記事)
> すいません またまたActiveReportのことで質問があります。
>
> 前にも質問して教えてもらったのですが、どうもうまくいかないので・・
>
> 改ページを以下のコーディングでしようとすると2ページ目以降Detailの部分が
> 一行分しか出力されなくなります。
>
> Private Sub ActiveReport1_FetchData(ByVal sender As Object, ByVal eArgs As DataDynamics.ActiveReports.ActiveReport.FetchEventArgs) Handles MyBase.FetchData
>
> Static sCount As Short
> sCount += 1
>
>     If sCount >= 5 Then
> Detail.NewPage = NewPage.after
>       sCount = 0
>     End IF
>          (ここからは行にデータを格納するコード)
> END Sub  
>
> Detailの部分を五件出力したら次に改ページしたいのですが、
> わかる方がおられましたらどうかよろしくお願い致します。

ゴメン。これ、私が答えたやつだ...
よく考えてみるとコレじゃだめかも...
  • 題名: Re[3]: ActiveReport.net
  • 著者: java.lang.Nullpo
  • 日時: 2004/08/23 12:01:04
  • ID: 5748
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
2004/08/23(Mon) 12:21:06 編集(投稿者)

■No5745に返信(こうさんの記事)
> ペガラボさんご指摘ありがとうございます。
> 確かにおっしゃる通り、マナーをきちんと守らねばならない事を痛感しました。
> これからも、きずいた点があればご指摘ください。よろしくお願いします。
>
> データの件数なのですが、150件位あり、1ページ目には5件のデータが出力
> されるのですが以降のページには1件づつ145ページに渡り出力されている
> といった感じです。
>
> よろしくお願い致します。

> Detail.NewPage = NewPage.After

AfterでもBeforeでも良いですが、プロパティなので以後のタイミングで戻す必要があると思います。
戻さないと、以降そのセクションでデータがFetchされるたびに改ページされてしまうと思います。

# といっても、これは前のスレッドで私が言っておくべきことでした m(_ _)m

'(Detaiは改ページしたセクションに置き換えてください)
Private Sub Detail_AfterPrint(ByVal sender As Object, ByVal e As EventArgs) Handles Detail.AfterPrint
  Me.Detail.NewPage = NewPage.None
End Sub

# 試すのが面倒なので、未確認ですけど...
ActiveReports for .NETを使った事が無いので推測で答えますが、もしかして、
(ここからは行にデータを格納するコード)
の所で、データ取得をする際、レコードのカウントをアップさせていない…って事は考えられないかな?
見る限り、java.lang.Nullpoさんが記述されたコードに問題がなさそうに見えるし、かと言って問題があったとしても、デバッグで多少はおかしな点に気付くはずです。せっかく、素晴らしいデバックツールが付いているのですから、5件目あたりからbreakさせることぐらいして、どのようなデータが動いているか確認してみてください。案外、「あ!」って思う節がでてきたりしますよ。
  • 題名: Re[3]: ActiveReport.net
  • 著者: こう
  • 日時: 2004/08/23 13:09:10
  • ID: 5751
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
java.lang.Nullpo さんのいわれるとおりにコーディングを追加したら
うまくいきました。 本当にありがとうございます。(ペガラボさんもありがとうございます)

java.lang.Nullpo の名前の由来というか呼びかたってなんなんですか??
ちょっと気になりまして。

でもいつも教えていただいて感謝感激です。

こう
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板