DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プレビューした内容をページ指定で印刷したいのですが・・・

環境/言語:[OS : Windows XP / 言語 : Visual Basic .NET / .NET Framework : 3.5]
分類:[.NET]

【解決したい問題】

データベースより複数行のデータを取得し「印刷」及び「プレビュー」を行うプログラムを作っています。

ここまでは問題が無かったのですが、プレビュー後に指定したページだけを印刷する場合、小計や合計などを印字していますので、印刷時と同じようなロジックで読み飛ばしを行っています

PrintDocumentのPrintを行った時、一度生成されたGraphicsデータをページ指定での印刷で再利用できないのでしょうか?

漠然とした質問なのですがm何方か良い手法をご存じでしたらお教え下さい  宜しくお願いします
■No26137に返信(中年プログラマーさんの記事)
> 【解決したい問題】
>
> データベースより複数行のデータを取得し「印刷」及び「プレビュー」を行うプログラムを作っています。
>
> ここまでは問題が無かったのですが、プレビュー後に指定したページだけを印刷する場合、小計や合計などを印字していますので、印刷時と同じようなロジックで読み飛ばしを行っています
>
> PrintDocumentのPrintを行った時、一度生成されたGraphicsデータをページ指定での印刷で再利用できないのでしょうか?

  うん?・・・

  SQL ServerのReporting Serviceや、.NETに附属の
  Microsoft ReportやCrystal Report使って行うのが
  非常に簡単かと思いますが・・・

以上。参考まで
オショウさん、早速のご意見有難うございます

質問の内容が漠然とし過ぎていますね、、、申し訳ありません

SQL ServerのReporting Serviceや、.NETに附属のMicrosoft ReportやCrystal Reportnaなどは使っておりません

きっと使えば簡単なのでしょうね〜
今後、検討させて頂きます。
有難うございました

現在の開発環境ですがオラクル&帳票ツール(帳票.net)です
帳票のデザインだけをツールで行いプログラムでコントロールしています
残念ながらツールにプレビュー機能や印刷機能が無いので作るしかなくて・・・

プレビューはPrintPreviewControlを使っています

プログラムの機能は
 メインのフォーム(印刷・プレビュー選択)
  印刷ボタンでプリントアウト
  プレビューボタンでサブフォーム(PrintPreviewControl)表示です
   この画面に表示倍率や表示のページ指定があります
   また印刷ボタンをクリックするとプリンターのダイアログを表示し
   印刷するようになっています

現在、読み飛ばしでなんとか回避していますが、同じロジックを印刷と
読み飛ばしで書く事になり保守性を考え、質問させて頂いた次第です

やはり帳票ツールの選択を考えた方が良さそうですね〜

有難うございました
■No26137に返信(中年プログラマーさんの記事)
> ここまでは問題が無かったのですが、プレビュー後に指定したページだけを印刷する場合、小計や合計などを印字していますので、印刷時と同じようなロジックで読み飛ばしを行っています

  状況を整理すると・・・

  小計・合計を行う設定になっているが、複数ページにまたがった
  データの小計・合計が印字されるので、その一部のページのみを
  印字する場合に正しく小計・合計されない。

  のかどうか・・・

  もしそうなのであれば・・・
  小計・合計する部分をレポートに任せず、DB的にSQL文で行
  い、結果をレポートの小計・合計欄に入るよう、コーディングを
  頑張る・・・

  どういう状態でどうしたいのか、いまいち解りませんが・・・

以上。
オショウさん色々とご指導有難うございます
状況はオショウさんの、おっしゃる通りです

オショウさんの言われるようにSQLで始末してしまう事も出来ますよね〜
(最初はこの方法を考えたのです・・・)
ただ、20種類以上の帳票を作らなければならず、どうしたものかと
悩んでいました。。。

結果は同じでも、実際の手法は色々とありますね
その中から最善の手法を探しながら頑張ってみます

今回は色々とありがとうございました

DOBON.NET | プログラミング道 | プログラミング掲示板