※本ページには広告・PR が含まれます。

DataGridView サンプル集【C# WinForms 使い方ガイド】

📋 目次(クリックで展開)

DataGridView は、C# の Windows Forms(WinForms)で表形式のデータを表示・編集するための標準コントロールです。顧客管理システム、在庫管理システム、売上管理システムなど、多くの業務アプリケーションで利用されており、Windows Forms 開発では欠かせない存在です。

一方で、DataGridView は高機能なため、

  • 行や列を追加・削除したい
  • セルの値を取得・更新したい
  • 色やフォントを変更したい
  • イベント処理を実装したい
  • DataTable やデータベースと連携したい
  • パフォーマンスを改善したい
  • エラーの原因や対処法を知りたい

といった場面で悩むことも少なくありません。

このページでは、当サイトで公開している DataGridView 関連の記事をカテゴリごとに整理しています。

各記事では、サンプルコードや、ダウンロード可能なサンプルアプリケーションを用いながら、DataGridView の基本操作から実践的な活用方法まで分かりやすく解説しています。

DataGridView の使い方を調べている方はもちろん、Windows Forms で業務アプリケーションを開発している方にも役立つ内容を随時追加していますので、ぜひブックマークしてご活用ください。

データの表示(基本・データバインド)

DataGridView を使う上で基本であり、かつ重要なアプローチが「データバインド」です。様々なデータソースとの紐づけ方法を紹介しています。

セル値の取得・更新

行の操作

列の設定

スクロール制御・フォーカス制御

見た目のカスタマイズ(UI・デザイン)

編集制御と高度なユーザー操作

入力検証(データバリデーション)

パフォーマンス

データのインポート・エクスポート

トラブル解決:よくあるエラーとつまずきポイント

インデックス -1 には値がありません(Index -1 does not have a value)

BindingSource.Position-1 の状態で Current を参照すると発生します。データ0件・フィルタ・行削除・ComboBox 列・初期化順序の5系統があります。

コントロールがデータバインドされている場合、行をプログラムから追加できません

DataSource 設定済みの状態で Rows.Add() を呼ぶと発生します。

有効ではないスレッド間の操作(Cross-thread operation not valid)

別スレッドから直接グリッドを更新しようとして発生します。

ヘッダーをクリックしても並べ替わらない

例外は出ませんが、List<T> バインド時の典型的な症状です。IBindingList.SupportsSortingfalse を返しているため、並べ替えが実行されません。

データ変更が画面に反映されない

書籍のご案内

実務で要求される DataGridView の実装パターンを、サンプルコード付きで体系的にまとめた書籍を公開しています。


💬 コメント