.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. WPFのDataGridの使い方。データを表示・カスタマイズする方法

WPFのDataGridの使い方。データを表示・カスタマイズする方法

  • .NET
  • C#
  • WPF
  • プログラミング言語
公開日時:   更新日時:
WPFのDataGridの使い方。データを表示・カスタマイズする方法
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    WPFの「DataGrid」コントロールは、表形式でデータを表示するためのコントロールです。SQL データベースやLINQ クエリなどのソースデータを表示することができます。

    Windows Forms版の「DataGridView」と機能が似ていますが、テンプレートによるデザインのカスタマイズなど、WPF固有の機能もあります。
    今回は、WPFのDataGridの基本的な使い方や、デザインをカスタマイズする方法を解説します。

    システム
    エンジニア
    職場でWPFを使うことになりました。DataGridを好みのデザインに変更する方法を知りたいです。
    プロジェクト
    リーダー
    WPFの特徴でもある、テンプレート機能を使えば、デザインも自由自在です!

    WPFのDataGridでデータを表示する方法

    まずは、DataGridの基本的な使い方から見ていきましょう。
    DataGridにデータを表示するには、「ItemsSource」プロパティにコレクションデータを設定し、コレクション1要素を1行として表示します。

    新規のWPFプロジェクトを作成し、MainWindow.xamlにDataGridコントロールを配置します。

    次に、DataGridに表示する商品データクラスを作成します。

    MainWindowクラスで、DataGridの「ItemsSource」プロパティに、商品データのコレクションを設定します。

    ここまでのプログラムを実行すると、次のような結果になります。
    WPFのDataGrid

    WPFのDataGridは、デフォルトで列の自動生成が有効になっているため、モデル(今回はProductクラス)のプロパティに合わせて、列が自動生成されます。

    列の自動生成を無効にしたい場合は、AutoGenerateColumnsプロパティに「False」を設定し、次のように手動で列を設定します。

    表示したDataGridをカスタマイズする方法

    DataGridのテンプレート列(DataGridTemplateColumn)を使用すると、セルのデザインを自由にカスタマイズできます。
    「DataGridTemplateColumn」を使って、上の商品データ一覧のうち、金額と消費税を1つ列にまとめて表示してみましょう。

    実行すると、次のイメージのように、金額と消費税が1つの列にまとめて表示されます。
    また、データバインディングする際に、StringFormatで書式を設定することもできます。

    カスタマイズしたDataGrid

    この他にも、「HeaderTemplate」を使えばヘッダーのデザインをカスタマイズできます。「CellEditingTemplate」を使えば編集中セルのデザインをカスタマイズすることも可能です。

    また、「CellTemplate」をカスタマイズすることでセルにカレンダーを表示することも可能になります。このようにWPFのDataGridは活用の幅が広いため、使用する機能を選ぶ必要があるでしょう。

    システム
    エンジニア
    テンプレートを使えば、凝ったデザインも作れそうですね。ヘッダーについてもカスタマイズしてみます!
    プロジェクト
    リーダー
    そうですね。ただ、あまり複雑なデザインにすると、描画に時間がかかることがあるため注意が必要です。

    よく使うDataGridをマスターしましょう

    WPFのDataGridコントロールにデータを表示する方法や、デザインをカスタマイズする方法を解説してきました。表形式でデータを表示するDataGridは、システム開発では欠かせないコントロールです。他に、セルのフォントや色、サイズなどの外観も自由にカスタマイズすることができるため、使い方は是非とも覚えておきましょう。

    >>>C#を使った案件を探すならFEnet .NET Navi

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job