DataGridView で行全体を選択できるようにする方法

Windows FormアプリケーションのDataGridView で行全体を選択できるようにする方法を紹介します。

概要

DataGridViewで行全体を選択できるようにしたい場合があります。 ListViewではFullRowSelectプロパティが用意されていますが、DataGridViewではFullRowSelectプロパティはありません。

DataGridViewで行全体を選択できるようにする場合は、SelectionModeプロパティの値を"FullRowSelect"に変更します。

UI

Windows Formアプリケーションを作成し、フォームにDataGrid Viewを配置します。
DataGridView で行全体を選択できるようにする方法:画像1

コード

今回は静的ファイルを読み込むコードを記述します。詳細はこちらの記事を参照してください。

using System.Data;

namespace DataGridViewSelectDemo
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      DataTable dt = LoadData("data.txt");
      dataGridView1.DataSource = dt;
    }

    private DataTable LoadData(string filePath)
    {
      DataTable dataTable = new DataTable();
      dataTable.Columns.Add("品名");
      dataTable.Columns.Add("価格");
      dataTable.Columns.Add("在庫");

      using (StreamReader sr = new StreamReader(filePath)) {
        while (sr.EndOfStream == false) {
          string[] rows = sr.ReadLine().Split(',');
          DataRow dr = dataTable.NewRow();
          if (3 <= rows.Length) {
            for (int i = 0; i <= 2; i++) {
              dr[i] = rows[i];
            }
            dataTable.Rows.Add(dr);
          }
        }
      }
      return dataTable;
    }

  }
}

デフォルトの動作

プロジェクトを実行してDataGridViewにデータを表示します。
DataGridView で行全体を選択できるようにする方法:画像2

デフォルトの設定では選択はセル単位になります。
DataGridView で行全体を選択できるようにする方法:画像3 DataGridView で行全体を選択できるようにする方法:画像4

行選択にする

行ごとの選択にする場合は、デザイナー画面で、DataGridViewを選択し、 プロパティウィンドウの[SelectionMode]の値を変更します。プロパティ名の右側の ドロップダウンボックスをクリックするとドロップダウンリストが表示されますので、[FullRowSelect]の項目をクリックして選択します。
DataGridView で行全体を選択できるようにする方法:画像5 DataGridView で行全体を選択できるようにする方法:画像6

[SelectionMode]プロパティを[FullRowSelect]に変更できました。
DataGridView で行全体を選択できるようにする方法:画像7

プロジェクトを実行します。DataGridViewにデータを表示します。行が選択されていることがわかります。
DataGridView で行全体を選択できるようにする方法:画像8

他のセルをクリックすると行全体が選択される動作になることが確認できます。
DataGridView で行全体を選択できるようにする方法:画像9 DataGridView で行全体を選択できるようにする方法:画像10

DataGridViewの選択を行全体の選択にできました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2012-09-04
改訂日: 2024-12-09
Copyright © 1995–2025 iPentec all rights reserverd.