- PR -

初めまして★印刷の設定で困ってます(>o

1
投稿者投稿内容
りさっぺ
会議室デビュー日: 2002/09/20
投稿数: 3
投稿日時: 2002-09-20 04:28
皆様はじめまして。
現在C#でのプログラム開発を行っているのですがCrystalReportViewerから印刷を行う際に用紙設定が上手くいかず困っています。

例えば、CrystalReportのプリンタの設定を『A4横』に設定しているとき、実行時CrystalReportViewerの印刷ボタンを押すと、印刷ダイアログが表示され、そのまま印刷をクリックすると『A4縦』の用紙にプリントされてしまいます。

印刷ダイアログのプリンタのプロパティの変更方法をご存知の方いらっしゃいましたら、お返事ください。

ぜひ皆様のお力をお借りしたく投稿いたしました。
宜しくお願い致します。

maecyo
会議室デビュー日: 2002/09/20
投稿数: 4
お住まい・勤務地: 鹿児島県
投稿日時: 2002-09-20 11:43
はじめまして!! りさっぺさんへ

CrystalReportViewerを利用しての印刷(PrintReportメソッド)は、
Windows の標準の [印刷] ダイアログ ボックスの設定を元に印刷され
ます。自動的に印刷方向および用紙指定を行う場合、ReportDocument
コントロールを併用します。

例)クリスタルレポートでA4縦デザインのレポートをA4横で印刷す
  る方法

@クリスタルレポートでA4縦サイズのレポートを作成します。
 →レポート名は、CrystalReport1.rpt

Aフォームに ReportDocumentコントロールを貼り付けます。
 →Nameプロパティを crystalReport_設定に変更(説明の都合上)

 このとき、型指定の選択画面が表示されるので、迷わず 項番@で
 作成した、CrystalReport1 を選択します。

B項番Aで貼り付けた crystalReport_設定 のプロパティを以下
 のように変更します。

 PrintOptions内のプロパティ
  PrintOrientationプロパティを、Landscape に変更
  PaperSizeプロパティを、PaperA4 に変更
  PaperSourceプロパティを、Auto に変更
  PrintDuplexプロパティを、Default に変更

Cフォームに CrystalReportViewerコントロールを貼り付けます。
 このコントロールの ReportSourceプロパティに項番Bで設定した
 「crystalReport_設定」を指定します。

Dフォームにボタンを貼り付けクリックイベント内に以下の処理を追
 加します。

 crystalReport_設定.PrintToPrinter(1,false,0,0);

 PrintToPrinterメソッドはこんな感じです。
 public virtual void PrintToPrinter (int nCopies ,
                   bool collated ,
                   int startPageN ,
                   int endPageN );
 PrintToPrinterメソッドの引数は、
 nCopies:印刷する部数を示します。
 collated:ページを部単位で印刷するかどうかを示します。
 startPageN:印刷する最初のページを示します。
 endPageN:印刷する最後のページを示します。

 上記で印刷が開始されます。

これで解決すると思いますが、確認をしてみて下さい。
1

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