- PR -

.NET C# 【Crystal Report Viewer】

投稿者投稿内容
わはは
会議室デビュー日: 2005/11/14
投稿数: 7
投稿日時: 2005-11-14 13:47
初めて投稿させて頂きます。

.net をはじめて使用する事になったのですが、
C#からCrystal Report Viewerを経由して印刷しようとしてますが、
実現方法がわからなく(画面のデザインにxxx.rptは付けてます)、
悪戦苦闘してます。

どなたか、ご教示願います。
又は初心者でも解るようなURLでも結構ですので、宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-14 14:31
引用:

わははさんの書き込み (2005-11-14 13:47) より:

C#からCrystal Report Viewerを経由して印刷しようとしてますが、
実現方法がわからなく(画面のデザインにxxx.rptは付けてます)悪戦苦闘してます。


「経由」ではなく、とりあえず表示したいということで宜しいでしょうか?

まず、CrystalReportViewer コントロールをフォームに貼り付ける必要があります。
そして出力する帳票にはデータソースを予め設定するか、
動的に Document に対して Dataset を渡すなどして出力するものを決定します。

CrystalReportViewer コントロールの ReportSource プロパティにこの Document を渡します。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
わはは
会議室デビュー日: 2005/11/14
投稿数: 7
投稿日時: 2005-11-14 16:26
『じゃんぬねっと』さん
早速の回答ありがとうございます。

「経由」は印刷プレビューはしないで直接印刷させる予定です。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-14 16:43
引用:

わははさんの書き込み (2005-11-14 16:26) より:

「経由」は印刷プレビューはしないで直接印刷させる予定です。


あれ? では、CrystalReportViewer コントロールなんて不要じゃないでしょうか?
経由というものですから、プレビュー表示もするのとばかり思ってましたが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
わはは
会議室デビュー日: 2005/11/14
投稿数: 7
投稿日時: 2005-11-14 16:57
すみません、以前知人に聞いた時に「Crystal Report Viewer」を使うってきいたのもですから・・・

もしかして、コンポーネント「ReportDocument」を使用するのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-14 17:16
引用:

わははさんの書き込み (2005-11-14 16:57) より:

もしかして、コンポーネント「ReportDocument」を使用するのでしょうか?


お察しの通り ReportDocument クラスで出来ます。

  ReportDocument.PrintToPrinter メソッド

この PrintToPrinter メソッドを使うことで印刷できます。
もちろん、事前に SetDataSource でデータソースをセットして、Load する必要があります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
わはは
会議室デビュー日: 2005/11/14
投稿数: 7
投稿日時: 2005-11-14 18:28
『じゃんぬねっと』さん
いろいろ簡単な質問で大変申し訳ありません。

早速「ReportDocument」に切り替えたのですが
上手くいきませんが・・・・

Report File Name:CrystalReport4.rpt

で下記を実行すると
【レポート ファイル パス が無効です。】のエラーになり

cachedCrystalReport4.FlePath を設定すると
FilePath は参照のみで設定付加のコンパイルエラーになるます。

この対処方法はわかりますか?


下記に参考Progを入れます。
PageMargins margins;
ReportDocument cachedCrystalReport4 = new ReportDocument();

cachedCrystalReport4.SetDataSource(MakeDataSet());
cachedCrystalReport4.Load("CrystalReport4.rpt");

// PageMargins 構造体を取得し、
// レポートの余白を設定します。
margins = cachedCrystalReport4.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// ページ余白を適用します。
cachedCrystalReport4.PrintOptions.ApplyPageMargins(margins);

// レポートを印刷します。startPageN および endPageN
// パラメータを 0 に設定し、すべてのページを印刷します。
cachedCrystalReport4.PrintToPrinter(1, false,0,0);

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-14 19:48
ひとつ質問なんですが、表示したいレポートは外部レポートですか?
ようするに、プロジェクトに参加していない外部ファイルですか?
それとも、プロジェクトに参加していますか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

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