SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Infragistics NetAdvantageチュートリアル(AD)

高機能データグリッドを使用して
従業員情報を出力するWPFアプリケーションを作成する

WPF用データグリッドの利用とXPS形式のエクスポート

  • このエントリーをはてなブックマークに追加

xamDataGridをウィンドウに追加

 データベースからロードされた従業員売上データを表示させるためにxamDataGridをウィンドウに追加します。DockPanelの既定の設定では最後に追加した要素が表示可能な残りの領域すべてに表示されます。

<igDP:XamDataGrid Name="xamDataGrid1" Language="Ja-JP" />

 xamDataGridの設定は、主にレイアウトの設定を行うFieldLayoutSettings、フィールドの設定を行うFieldSettingsで、デフォルトの設定を行うことができます。また、個々のレイアウト、フィールドで設定をオーバライドすることも可能です。今回は、フィールド移動、フィールド固定、フィルタ機能を設定します。

FieldLayoutSettingsを設定

 xamDataGrid.FieldLayoutSettingsをXAMLで定義し、フィールドの移動を許可するためにAllowFieldMovingプロパティを、また集計の際の計算対象を設定するために、CalculationScopeプロパティを設定します。

<!--フィールド レイアウト設定を行います。-->
<igDP:XamDataGrid.FieldLayoutSettings>
    <igDP:FieldLayoutSettings AllowFieldMoving="Yes" CalculationScope="FullSortedList" />
</igDP:XamDataGrid.FieldLayoutSettings>

FieldSettingsを設定

 xamDataGrid.FieldSettingsをXAMLで定義し、フィールド固定を左右で有効にするためにAllowFixingプロパティを、フィルタリングを有効とするためにAllowRecordFilteringプロパティを、最後に集計機能を有効とするためにAllowSummariesプロパティを設定します。これらはより細かく設定することが可能ですが、今回は通常の設定をそのまま使用します。

<!--フィールド設定を行います。-->
<igDP:XamDataGrid.FieldSettings>
    <igDP:FieldSettings AllowFixing="NearOrFar" AllowRecordFiltering="True" AllowSummaries="True" />
</igDP:XamDataGrid.FieldSettings>

 ここまでのxamDataGridを定義したXAMLは次のようになります。

<igDP:XamDataGrid Name="xamDataGrid1" Language="Ja-JP" >
    <!--フィールド レイアウト設定を行います。-->
    <igDP:XamDataGrid.FieldLayoutSettings>
        <igDP:FieldLayoutSettings AllowFieldMoving="Yes" CalculationScope="FullSortedList" />
    </igDP:XamDataGrid.FieldLayoutSettings>

    <!--フィールド設定を行います。-->
    <igDP:XamDataGrid.FieldSettings>
        <igDP:FieldSettings AllowFixing="NearOrFar" AllowRecordFiltering="True" AllowSummaries="True" />
    </igDP:XamDataGrid.FieldSettings>
</igDP:XamDataGrid>
図4 - xamOutlookBarとxamDataGridが追加されたウィンドウ
図4 - xamOutlookBarとxamDataGridが追加されたウィンドウ

データのエンティティを設定

 xamDataGridはIEnumerableインターフェイスを実装しているデータオブジェクトをバインドすることができます。今回はADO.NET Entity Frameworkを使用してグリッドにバインドするデータを取得します。

ADO.NET Entity Data Modelを作成

 プロジェクトに「DataModels」というフォルダを作成し、新しいADO.NET Entity Data Modelを「AWModel.edmx」と名付けて作成します。

図5 - ADO.NET Entity Data Modelを追加
図5 - ADO.NET Entity Data Modelを追加

 次に表示されるEntity Data Modelウィザードでは[データベースから生成]を選択します。

図6 - Entity Data Modelウィザード
図6 - Entity Data Modelウィザード

 さらに[新しい接続]を選択し、接続するデータベースを設定します。今回はローカルホストのSQLEXPRESSインスタンスのAdventureWorksデータベースに接続します。

図7 - 接続のプロパティ
図7 - 接続のプロパティ

 データベースオブジェクトの選択画面ですべてのテーブルを選択します。これでデータを使用する準備が整いました。

図8 - データベースオブジェクトの選択
図8 - データベースオブジェクトの選択

次のページ
ボタンクリックイベントでデータをバインド

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Infragistics NetAdvantageチュートリアル連載記事一覧

もっと読む

この記事の著者

インフラジスティックス・ジャパン株式会社 池原 大然(イケハラ ダイゼン)

国内ベンチャー企業にて.NETエンジニアとして開発に従事、2007年インフラジスティックス・ジャパンに入社。現在デベロッパー エバンジェリストとして、.NETやWPF/Silverlight製品や技術の啓蒙活動を行う。Microsoft MVP for Client App Dev 2010/04 ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4127 2009/07/07 14:27

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング