【C#】DataGridView入門ガイド ~表示・操作・見た目調整まで~
Windows FormsでC#アプリを作っていると、データを一覧表示するのに必ずと言っていいほど登場するのが DataGridView コントロールです。
本記事では、DataGridViewの基本概念から、実際のデータ操作、そして見た目の調整方法まで、これまでソフトライムで書いてきた関連記事をまとめてご紹介します。
「DataGridViewって何から手をつければいいの?」という方は、ぜひ上から順番に読み進めてみてください。
1. DataGridViewとは何か(基礎編)
DataGridViewを理解する上で欠かせないのが、DataSet と DataTable という2つの概念です。
- DataSet:データソースから取得したデータをメモリ上にキャッシュする入れ物。データベースと直接つながっていない「切断状態」でデータを扱うために使われます。
- DataTable:行と列を持つ、1つの表を表すオブジェクト。DataSetの中に1つ以上のDataTableが入るイメージです。
- DataGridView:これらのデータを画面上に表形式で表示・編集するためのWindows Formsコントロール。
基本的な流れは、「DataTableを作る → DataSetに追加する(または直接DataTableを使う) → DataGridViewのDataSourceプロパティにセットする」という手順です。
具体的なコード例(ID・名前・年齢の3列を持つテーブルを作成し、DataGridViewに表示する方法)は、こちらの記事で詳しく解説しています。
👉 【C#】DataSet、DataTable、およびDataGridView
2. 実践編:データの表示・検索・削除
基礎を押さえたら、次は実際にアプリらしい操作を実装してみましょう。図書館の蔵書管理を題材に、以下のような機能を実装した記事があります。
- DataGridViewへのデータ表示(DataSourceバインディング)
- 選択した行の削除処理
- DataTable.Select メソッドを使った特定キーでの検索
- DataSet内の複数テーブル(書籍情報・ゲーム情報など)を動的に切り替えて表示
- XML形式でのデータ永続化(アプリを閉じてもデータを残す)
「表示するだけ」で終わらせず、検索や削除といった実務でよく使う操作まで一通り体験できる内容になっています。
👉 WindowsFormsアプリで、DataSet,DataTable, DataGridViewを使ったデータの管理
3. 見た目の調整:列幅の自動調整
データを表示・操作できるようになったら、次に気になるのが「見た目」です。特に列幅は、内容によって自動調整したい場面が多くあります。
DataGridViewには AutoSizeColumnsMode というプロパティがあり、以下のような設定値を切り替えることで、列幅の挙動をコントロールできます。
| 設定値 | 動作 |
|---|---|
| None(デフォルト) | 自動調整なし。Widthで個別指定 |
| Fill | フォーム(コントロール)の幅いっぱいに列を割り当てる |
| AllCells | セルの文字数に合わせて幅を自動調整 |
| その他 | AllCellsExceptHeader、ColumnHeader、DisplayedCellsなど、用途に応じた設定値がある |
Fill を使う場合は FillWeight で列ごとの比率を指定することもでき、「業務アプリの見た目を統一したい」といった実践的な場面での使い分けを記事内で紹介しています。
👉 WinForms の DataGridView ヘッダーを幅いっぱいに自動調整する方法
4. 今後扱う予定のトピック
DataGridViewにはまだまだ便利な機能がたくさんあります。以下のトピックは今後、記事を追加してこのまとめページからもリンクしていく予定です。
- セルの書式設定(条件付き書式、DefaultCellStyle)
- 列ヘッダーをクリックしたときのソート、カスタムソートの実装
- 入力値のバリデーション(CellValidating イベント)
- チェックボックス列・コンボボックス列などの特殊な列タイプ
- Excel/CSVへのデータエクスポート
新しい記事を公開次第、このページに追記していきますので、ブックマークしておくと便利です。
まとめ
DataGridViewは、Windows Formsアプリでデータを扱う上で避けて通れない重要なコントロールです。
まずは「DataSet・DataTable・DataGridViewの関係を理解する」→「実際にデータを表示・操作してみる」→「見た目を整える」という順番で学んでいくと、無理なく身につけられます。
各記事のサンプルコードを実際に動かしながら、ぜひ手を動かして学んでみてください。






ディスカッション
コメント一覧
まだ、コメントがありません