- PR -

クリスタルレポートのツールの次へボタン

1
投稿者投稿内容
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2008-01-15 15:28
言語:ASP.NET(VB.NET)
帳票:クリスタルレポート Ver10
Visual Studio2005

クリスタルレポートを今回初めて使用することになったのですが
クリスタルレポートのツールのメニューボタンにある[次へ]ボタンを押下しても
2ページ以降進まず(全部で10ページ)、常に2ページまでしか表示されません。
[最終ページ]ボタンを押下すると10ページは表示されます。
原因が全く分からず悩んでおります。
どうかよろしくお願い致します。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2008-01-15 17:49
さかもとと申します。

2ページ移行進まないというのは、3,4、5・・・〜10までデータはある(はず)のに表示されないということでしょうか?

レポート側で改ページの制御や、各種設定があろうかと思いますが、何もしていない状態(単にレコードを表示させるだけの、テーブルデータの単なる羅列、1000行くらいとか)のレポートを新規で作ってみても、2ページ目以降が表示されませんか?

それともある特定のレポートだけが表示されませんか?


_________________
------------------------------------------
拝啓、さかもとと申します♪
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2008-01-15 18:03
返答ありがとうございます!!

始め1ページめで、次へのボタンを押下すると
2ページに進むのですが、また次へのボタンを押下しても
2ページのままで、何度押しても2ページから進みません。
ほんとうは、3,4ページと表示されないとおかしいと思うのですが・・・
レポート側では何の設定もしていなくて、単なる羅列を出力するという
簡単な処理です。ページ指定で3ページとかを入力した場合は
3ページが表示されます。
これがいったい何の不具合なのかが分からず困っています。
バグでしょうか??
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-01-15 18:29
"クリスタルレポートのツールの次へボタン" が何であるのかわからないのですが、CrystalReportsViewer で表示されるページの [次へ] ボタンか何かでしょうか?

お話をそのまま受け取りますと確かに不具合な気がします。 一度、BusinessObjects のテクニカル サポートを受けてみてはいかがでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
T.S
会議室デビュー日: 2006/08/21
投稿数: 2
お住まい・勤務地: 東京都
投稿日時: 2008-12-04 18:00
 
はじめまして、T.S といいます。

全く同じ現象に悩まされましたが、以下の方法で無事に解決することができました。

具体的なソースコードを以下に示します。

/// <summary>
/// ページがロードされたときに発生するイベント
/// </summary>
/// <param name="sender">イベントのソース</param>
/// <param name="e">イベントデータを格納しているオブジェクト</param>
protected void Page_Load(object sender, EventArgs e)
{
  // パラメータをセット
  crystalReport.SetParameterValue("パラメータ1", parameter1);
  crystalReport.SetParameterValue("パラメータ2", parameter2);
  crystalReport.SetParameterValue("パラメータ3", parameter3);
  crystalReport.SetParameterValue("パラメータ4", parameter4);
   …

  // プレビュー
  crystalReportViewer.ReportSource = crystalReport;
}

 <↓以下のように、Page_Load() ではなく、Page_Init() に記述し直します>

/// <summary>
/// ページが初期化されたときに発生するイベント
/// </summary>
/// <param name="sender">イベントのソース</param>
/// <param name="e">イベントデータを格納しているオブジェクト</param>
protected void Page_Init(object sender, EventArgs e)
{
  // パラメータをセット
  crystalReport.SetParameterValue("パラメータ1", parameter1);
  crystalReport.SetParameterValue("パラメータ2", parameter2);
  crystalReport.SetParameterValue("パラメータ3", parameter3);
  crystalReport.SetParameterValue("パラメータ4", parameter4);
  …

  // プレビュー
 crystalReportViewer.ReportSource = crystalReport;
}


Page_Init() が定義されていなければ、デザイン上の CrystalReportViewer を選択して
「Init」からイベントを起こして下さい。

以上です。

 
_________________
T.S
IMPREZA
ベテラン
会議室デビュー日: 2005/07/06
投稿数: 58
投稿日時: 2008-12-08 15:35
T.Sさんの書き込みの通りかと思います。
Page_LoadでCrystalReportを表示する処理を記述していませんか?
なので次へボタンをクリックした際に、レポートが再作成されて次へ処理部分が有効になって2ページ目が表示されると思われます。
ちなみにページ指定して、そのページを開こうとすると開けるはずですよ。

IsPostBack処理を追加してみては如何でしょうか?
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2008-12-08 17:11
T.Sさん、IMPREZAさん、お返事ありがとうございます!!
この質問は約11ヶ月前に投稿したもので、今お返事を頂けて
びっくりしています。実は今はASP.netに携わっていなくて、
結局その部分は解決できず、別の方法でクリアしてしまいました。
でも、今後またASP.netを使用する機会が必ずありますので
その時に教えて頂いた通りにしてみたいと思います!
1

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