Tatsuya Yamada's blog

インフラジスティックス ジャパンのデベロッパー エバンジェリスト 山田達也のブログです
NetAdvantage for WPF 2009 Volume1 日本語版 その5 – WPF Reporting

これまでの記事

  1. NetAdvantage for WPF 2009 Volume1 日本語版 その1 - 概要
  2. NetAdvantage for WPF 2009 Volume1 日本語版 その2 – xamMonthCalendar
  3. NetAdvantage for WPF 2009 Volume1 日本語版 その3 – xamOutlookBar
  4. NetAdvantage for WPF 2009 Volume1 日本語版 その4 – xamTabControl

 

 新しい画像 (44)

今回は、NetAdvantage for WPF 2009 Volume1 で新しく加わった、レポーティング機能についてご紹介します。

もともとNetAdvantageでは、WinForms, ASP.NET などのプラットフォームにてドキュメント エンジンと呼ばれるレポーティング フレームワークをご提供していましたが、今回はそのWPF版といった位置づけです。

 

それでは、WPF Reporting の主な機能を挙げていきましょう。

まずは基本的な印刷と印刷プレビューですが、これは画面上の任意のオブジェクトをそのままのイメージで印刷、エクスポートを行う機能です。

たとえば下の図は グルーピングを行った状態の xamDataGrid です。

Reporting_Grid

この画面上のイメージ(グルーピングの状態などを含む)をそのまま印刷したり、XPS形式のファイルへエクスポートすることができます。

プレビューコントロールもありますので、↓のように画面内でプレビュー表示をすることも簡単にできます。

Reporting_GridPreview

 

こういった印刷に必要なコードも単純で、下のように書くだけです。

private void btnPrint_Click(object sender, RoutedEventArgs e)
{
    // 1. Reportオブジェクトを生成
    Report reportObj = new Report();
 
    // 2. 印刷するVisualを設定したセクション(EmbeddedVisualReportSection)を生成
    EmbeddedVisualReportSection section = new EmbeddedVisualReportSection(XamDataGrid1);
 
    // 3. セクションをReportのSectionsコレクションに追加
    reportObj.Sections.Add(section);
 
    // この一文で印刷進捗状況を表示することができます
    progressInfo.Report = reportObj;
 
    // 4. 印刷実行!
    reportObj.Print(true, false);
}

 

もちろん、xamDataGridだけでなく任意のコントロールをレポーティングすることができます。 下はxamWebChartを出力した例です。

  reporting_section2

ヘッダやフッタ、ページのレイアウトなどをカスタマイズして、より帳票ライクな外観設定を追加することもできます。

reporting_customizePage

 

また、xamDataGridなどのDataPresenterコントロールのレポーティング時には、ページごとのヘッダの繰り返しやすべての階層の自動出力などの機能が使用可能です。これらを活用することで、「画面の見た目」通りの印刷だけではなく「紙ベース」での表現に特化した帳票ソリューションの実現がぐっと近づきます。

 

次回はLOBの目玉コントロール、XamDataGridの新機能をご紹介します。多くの新機能が追加されていますのでお楽しみに!

Posted: 16 Apr 2009, 15:57

Comments

Daizen Ikehara said:

NetAdvantage for WPF 2009 Volume1 日本語版 その1 - 概要 NetAdvantage for WPF 2009 Volume1 日本語版 その2 – xamMonthCalendar

# April 18, 2009 5:29 AM

デビッド・クーニング said:

皆様、 日頃よりインフラジスティックス・ジャパンをご愛顧いただき、誠にありがとうございます。 さて、本日は弊社製品を新しいラインアップで販売する事を発表させていただきます。今回の変更にて製品をお選びやすく、また多くのお客様の開発ニーズにお応えできるかと考えています。皆様のご期待にそえれば幸いです。

# April 21, 2009 6:32 PM

Daizen Ikehara said:

先日より NetAdvantage for Windows Forms , NetAdvantage for WPF の新機能についてご紹介してきましたが、4月22日に NetAdvantage for

# April 24, 2009 2:49 AM
Anonymous comments are disabled