DataGridコントロールの新しい2つの機能を使う

スクロールしなければ表示されないデータをすべて印刷する今回は、業務用アプリケーションでは最も使用頻度の高い、DataGridを用いたサンプルを2つ紹介します。1つは印刷処理、もう1つは、フルスクリーンモードのサンプルです。まず、印刷のサンプルから説明します。前回は、Silverlight 4でサポー

PROJECT KySS

2010年6月15日 20:00

スクロールしなければ表示されないデータをすべて印刷する

今回は、業務用アプリケーションでは最も使用頻度の高い、DataGridを用いたサンプルを2つ紹介します。1つは印刷処理、もう1つは、フルスクリーンモードのサンプルです。

まず、印刷のサンプルから説明します。前回は、Silverlight 4でサポートされた印刷機能を紹介しました。しかしながら、前回の方法では、 DataGridコントロールのデータ件数が多く一度に表示しきれない場合、画面上に表示されているデータしか印刷できません。

そこで、スクロールしなければ表示されないすべてのデータを印刷できるサンプルを作ってみましょう。

今回は1ページ内に収まるデータを印刷する方法について解説しますが、もちろん、複数ページに渡るデータも印刷できます。また機会があれば紹介していきたいと考えています。

このサンプルのプロジェクト・ファイルは、こちらからダウンロードできます。

 今回は、氏名の「読み(先頭の1文字)」あるいは「年齢」でグループ分けしたデータを、DataGridコントロールに表示します(図1、図2)。 一画面には表示しきれない件数のサンプル・データをバインドしていますので、スクロールバーが表示されています。

この画面上から[印刷実行]ボタンをクリックします。Microsoft XPS Document Writerを選択して[印刷]ボタンをクリックし、 DataGridGroup.xpsというファイル名で書き出します。書き出されたXPSファイルをビューアーで閲覧すると、図3のようにDataGridコントロールにバインドしたデータがすべて出力されています。

氏名の読み(先頭の1文字)でグループ分けされたデータがDataGridに表示されている。

図1:氏名の読み(先頭の1文字)でグループ分けされたデータがDataGridに表示されている。(クリックで拡大)

年齢でグループ分けされたデータがDataGridに表示されている。

図2:年齢でグループ分けされたデータがDataGridに表示されている。

DataGridコントロールにバインドされたデータがすべて出力されている。

図3:DataGridコントロールにバインドされたデータがすべて出力されている。

新規プロジェクトの作成と、印刷用データの追加

では、早速サンプルを作成していきましょう。

前回までのサンプル作成時と同様の手順で、新規Silverlight 4プロジェクト(プロジェクト名は「SL4_DataGridGroup」)を作成してください。 プロジェクト依存関係も設定してください。

前回同様、印刷用のサンプル・データ(リスト1)を追加しておきます。このデータはサンプル用のダミーです。 また、このXMLデータを処理するため、「Project/Add Reference」からSystem.Xml.Linqを追加しておきます。

リスト1 DataGridコントロールにバインドするXML文書(sampleData_Group.xml)


<顧客情報>
  <情報>
    <氏名>愛媛花子
    <読み>え
    <年齢>30
    <住所>松山市道後1-1-1
    <勤務先>道後IT株式会社
 
  <情報>
    <氏名>夏目団吾
    <読み>な
    <年齢>56
    <住所>松山市湯渡2-2-2
    <勤務先>市立松山中学校
 
  ~<情報>繰り返し、略~

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30