April 2009 - 投稿

これまでの記事

  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の新機能をご紹介します。多くの新機能が追加されていますのでお楽しみに!

先週のアカデミア札幌では、おかげさまで前回開催以上のご参加を頂きました!皆さまお忙しい中ありがとうございました。

ちょうど今年一番の暖かさとのことで、あまり東京と気候の違いを感じずにすみましたが、やっぱり夜は肌寒い感じでしたね。

 

DevSumi以来、Silverlightを既存Webの中で使うときのノウハウという形のセッションを行ってきましたが、その最終版のスライド・補足資料とソースコードをアップしました。ソースについては掲載が大変遅くなりましたが、興味ある方はダウンロードしてみてください。

スライド(PDF)、補足資料

ソース

 

これでとりあえず、2009年前半のアカデミアは終了という形になります(寂しい・・・)が、また今年後半に復活すると思いますのでその際にはよろしくお願いします!!

 

マイクロソフト市橋様のセッション風景。弊社スズキ(左下)も興味津々

先日、MixでのSilverlight3発表は刺激的なニュースでしたね~。

LOB向けのコントロールの追加や3D・GPU対応はなんとなく予想できていましたが、ブラウザの枠から飛び出てクライアント上にインストールできてしまう Out of Browser まで来るとは。

個人的には .NET RIA Services のパブリック化が最も興味深いです。UI実装の主体がクライアント・サイドへシフトするSilverlightでは、物理的・論理的に分離したプレゼンテーション・レイヤー実装を可能にするため、従来のWebに比べるとどうしてもアーキテクチャレベルでの設計難易度は高まる部分があるかと思います。そういった中で.NET RIA Services が示すベストプラクティスは、これからSilverlightを採用するにあたって大変貴重な資料・ガイドラインとなりますし、またN-Tierリッチクライアントに携わってきた開発者にとってもSilverlightへの良い橋渡しになるのではと思います。(参考:Brad Abrams / What is .NET RIA Services?

 

さて。本題に戻りまして、タイトルにも書いてますが、NetAdvantageのSilverlight3への対応予定についてご説明します。

  • NetAdvantage for Silverlight LOB
    • まず、今夏リリース予定のLOB(業務アプリケーション向けコントロール集)ですが、こちらはすでにSilverlight3をベースとして開発を行っております。そのため、現在USサイトで公開中の3月度CTPについてもSilverlight3betaが動作必要環境となります。将来的にもSilverlight2でのリリースは行わない予定です。
  • NetAdvantage for Silverlight Data Visualization
    • 先日リリースされましたData Visualizationは、現在Silverlight2対応製品となっていますが、Silverlight3の正式版リリースとともにSilverlight3対応版として再デビューします。もちろん、それまでに製品を取得いただいた方は製品サブスクリプションでそのままアップグレード可能となります。

Silverlight3はbetaの段階でもSilverlight2と高い互換性を持っていますし、機能面は言うまでもなく確実に進歩しています。そのため、ユーザーによりリッチなUXを提供するためのコンポーネントであるために、NetAdvantageはいちはやくSilverlight3対応を行ってまいります。

 

最後に、現在インフラジスティックスのUSサイトで公開中の、NetAdvantage for Silverlight LOB 3月度CTPの最新情報です。今回、2つのコントロールが追加されました。

タグ・クラウドの形式で、情報の重みづけをもったキーワードを表現するxamWebTagCloudコントロールと、アニメーション・エフェクトを備えたタイル形式のリッチなコンテナー、xamWebTileViewです。

xamWebTileViewでは次のスクリーンショットのように、複数のViewをタイル形式で並べ、さらに作業中の情報が分かりやすいように拡大・縮小などのアニメーションを行うコントロールです。Silverlightらしい、動きがあり直観的な項目選択が可能になります。

xamWebTileView1 xamWebTileView2

こちらは現在日本語版のSilverlight3betaに対応作業中です。近々日本語環境でもCTPをお試しいただけると思いますので、またその際に詳しくご説明したいと思います。