- PR -

アクティブレポートのVIEWERのレポートをクリアする

1
投稿者投稿内容
やぎ
会議室デビュー日: 2006/05/09
投稿数: 14
投稿日時: 2006-10-27 11:19
こんにちは。
VB.NET2003、ACTIVE REPORT2.0Jで開発しています。

ある条件を入力して、一致するデータをVIEWERに一覧表示する、というプログラムを開発しています。
この時、VIEWERは条件指定するフォームに配置されており、常に表示されている状態です。
ある条件で一覧表をプレビュー表示し、そのまま次の条件を指定したところ
その条件に一致するデータが存在しない場合、VIEWERはクリアされず
前回指定した条件の一覧表が表示されたままになっています。

これをクリアしたいのですが、できるでしょうか?

ちなみに、データがない場合はレポートのNoDataイベントでレポートの生成をキャンセルし(ME.Cancel())、フォーム側で
pt.Run()
If (rpt.CurrentPage Is Nothing) Then '出力対象データがない
Call MsgBox("データがありません", MsgBoxStyle.Information)
Else
ARV_Viewer.Document = rpt.Document
End If

という処理をしています。

よろしくお願いいたします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2006-10-27 11:38
NAL-6295です。

ビューワを非表示にでもしておけばよいのではないでしょうか?

_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-27 12:04
引用:

やぎさんの書き込み (2006-10-27 11:19) より:

この時、VIEWERは条件指定するフォームに配置されており、常に表示されている状態です。
ある条件で一覧表をプレビュー表示し、そのまま次の条件を指定したところ
その条件に一致するデータが存在しない場合、VIEWERはクリアされず
前回指定した条件の一覧表が表示されたままになっています。

これをクリアしたいのですが、できるでしょうか?


おそらく、Windows アプリケーションですよね。

非表示にするのがイヤで、白紙を表示しておきたいのであれば、
空の ReportDocument をインスタンス化しておけば良いでしょう。

Windows 標準のお作法としては、非表示にして 「無効な領域」 を使用することをお勧めします。
面倒であれば、PictureBox コントロールか溝がある Panel コントロールにすり替えます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
やぎ
会議室デビュー日: 2006/05/09
投稿数: 14
投稿日時: 2006-10-27 12:37
回答ありがとうございます。

すみません、書き方が悪かったです。
VIEWER自体は表示されているのが望ましいのです。
VIEWERに表示されるレポートをクリアしたいだけで。

じゃんぬさんがおっしゃっているからのレポートを作る、というのが
私が目指している仕様に近いかもしれないですね。
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2006-10-27 13:47

saki1208です。

提示されているバージョンでも同じかどうかはわかりませんが...

ActiveReportsの過去のバージョンでは、ビューアに渡すレポート
の宣言の仕方により、次に実行した際のレポートの内容が変わら
ないという障害がありましたが、それとは異なりますか?
※rpt.Run()の前に、必ず「New」することでそれは回避できました
やぎ
会議室デビュー日: 2006/05/09
投稿数: 14
投稿日時: 2006-10-27 13:55
こんにちは。回答ありがとうございます!

rpt = New Acr_ITA020P ←これを追加する、ということですよね?
rpt.Run()

それとは違うと思います。
viewerに9月分のデータの帳票が表示されている。
抽出条件を変更して、それに一致するデータがない場合は
form起動時のように、viewerには何も表示されていない状態にしたいのです。
(今回の条件では何も出力されなかった、ということをユーザーに明示したい)

saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2006-10-27 14:09

saki1208です。

明日付けでグレープシティの良くあるQ&Aに以下の情報が掲載されていました。

Viewer1.Document.Pages.Clear()

でクリアできると記載されています。
※未確認です。
やぎ
会議室デビュー日: 2006/05/09
投稿数: 14
投稿日時: 2006-10-27 14:19
ありがとうございます!

確認しました。
仕様どおりの動きをしてくれました。

実はここに来る前にグレープシティのサイトでチェックしたんですが
その時にはまだ出てませんでした。
こういうことは知ってて当然の内容なんでしょうか。

とにかくありがとうございました!


1

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