none
MicrosoftReport RDLCでレポート本文でページ番号を取得す る方法 RRS feed

  • 質問

  • お世話になります
    MicrosoftReportについてですが、
    RDLC(クライアント レポート定義)のレポートヘッダー、フッターにはテキストボックスの式にて=Globals!PageNumber
    でページ番号が出力できるのですが、
    RDLCのレポート本文でページ番号(=Globals!PageNumber)を使用するとビルドで
    ”グローバル変数 PageNumber または TotalPages が参照されています。
    この 2 つのグローバル変数は、ページのヘッダーおよびフッター内のみで使用できます。”
    とエラーが出力され参照できません
    本文から参照または、ヘッダーまたはフッターから本文への設定をするにはどうすればよいですか?

    また改ページ前後で各項目の特定条件での表示・非表時など行いたいのですが
    改ページ前後のイベントがあるのか、あるなら処理可能か?

    この2点を教えてください

    [テスト環境]
    言語   :C#
    DB   :SQLServer 2014
    ツール :Visual Studio Professional 2015

    2017年5月2日 7:27

すべての返信

  • 検索しただけですが、ちょっとしたテクニックを使うとできそうな感じです。以下を参考にしてみて下さい。

    How to get Page number in report body in RDLC
    https://forums.asp.net/t/1896636.aspx?How+to+get+Page+number+in+report+body+in+RDLC


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2017年5月3日 1:39
    モデレータ
  • trapemiya さん 返信 ありがとうございます

    RDLCのレポート本文でページ番号(=Globals!PageNumber)に関して
    実は英語のMSDNフォーラムにて私も検索してまして

    この英語のページは
    実際には解決に至っていないです

    内容をもとにやってみた結果は、
    本文にテキストボックスTextbox9を作成、
    フッターにテキストボックスPgNumを作り、式に
    = IIF(1 = 1、ReportItems!Textbox9.Value = Globals!PageNumber、 "" )
    を編集してビルドして実行すると
    フッターのPgNumはビューワー上#Errorとなります

    といことで
    ここからいろいろ試しましたが、この方法ではやっぱりできませんでした

    2017年5月8日 0:34
  • 失礼いたしました。解決しているように見えたのですが、申し訳ありません。
    以前、検索している時に、Globals!PageNumberは仕組み上、無理という記述をいくつか見かけましたので、やはりこれを使う方法はダメなのかもしれません。それを踏まえて先ほど検索してみましたが、以下はGlobals!PageNumberを使っていません。SSRSですが同じようにできるかもしれません。とりあえずうまく動いたというコメントが付いています。

    How to Display Page Number in Report Body of SSRS 2008 R2?
    http://stackoverflow.com/questions/24198336/how-to-display-page-number-in-report-body-of-ssrs-2008-r2


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2017年5月8日 0:53
    モデレータ