未分類

【C# DataGridView】列を名前で扱う

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。
3. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.Columns.Add("COL1", "TEST1");
  dataGridView1.Columns.Add("COL2", "TEST2");
  dataGridView1.Columns.Add("COL3", "TEST3");
  dataGridView1.Columns.Add("COL4", "TEST4");
  dataGridView1.Columns.Add("COL5", "TEST5");
  dataGridView1.RowCount = 5;
  
  for (int i = 0; i < dataGridView1.ColumnCount; i++)
  {
    for (int j = 0; j < dataGridView1.RowCount; j++)
    {
      dataGridView1[i, j].Value = (i * j).ToString();
    }
  }
}

private void button1_Click(object sender, EventArgs e)
{
  listBox1.Items.Add(dataGridView1.Columns["COL1"].HeaderText);
  listBox1.Items.Add(dataGridView1["COL3", 2].Value);
}

解説

データグリッドビューの列を名前で扱っています。行と同じように列にもインデックスがありますが、通常はインデックス番号を定数などに定義して扱うので、扱いにくい面があります。名前で扱うことができれば余分な定義が不要でコードがキレイになります。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類