MENU

C# DataGridViewの使い方(行の追加・削除、ソートも解説)

Windowsフォームアプリケーションを開発していると、表形式でデータを表示したり編集したりする必要が出てくることがあります。そんな時に便利なのが「DataGridView」コントロールです。この記事では、C#でDataGridViewを使用する方法を、基本的な使い方から行の追加・削除、ソートまで解説します。

目次

DataGridViewの基本

まず、DataGridViewをフォームに追加し、簡単なデータを表示してみましょう。

using System;
using System.Windows.Forms;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        InitializeDataGridView();
    }

    private void InitializeDataGridView()
    {
        // DataGridViewの列を定義
        dataGridView1.Columns.Add("Name", "名前");
        dataGridView1.Columns.Add("Age", "年齢");

        // データを追加
        dataGridView1.Rows.Add("山田太郎", 30);
        dataGridView1.Rows.Add("佐藤花子", 25);
        dataGridView1.Rows.Add("鈴木一郎", 35);
    }
}

このコードでは、「名前」と「年齢」の2つの列を持つDataGridViewを作成し、3人分のデータを追加しています。

行の追加

ボタンクリックなどのイベントで新しい行を追加する方法を見てみましょう。

private void btnAddRow_Click(object sender, EventArgs e)
{
    string name = txtName.Text;
    int age = int.Parse(txtAge.Text);

    dataGridView1.Rows.Add(name, age);
    
    // テキストボックスをクリア
    txtName.Clear();
    txtAge.Clear();
}

このコードは、テキストボックスから名前と年齢を取得し、新しい行として追加します。

行の削除

選択された行を削除する方法は以下の通りです:

private void btnDeleteRow_Click(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count > 0)
    {
        dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
    }
    else
    {
        MessageBox.Show("削除する行を選択してください。");
    }
}

このコードは、選択された行が存在する場合にその行を削除します。

ソート機能の実装

DataGridViewは、列ヘッダーをクリックすることで簡単にソートできます。これを有効にするには、以下のようにします:

private void InitializeDataGridView()
{
    // 既存のコード...

    // ソートを有効にする
    dataGridView1.Columns["Age"].SortMode = DataGridViewColumnSortMode.Automatic;
}

このコードは「年齢」列に対してソート機能を有効にします。ユーザーが列ヘッダーをクリックすると、その列でソートが行われます。

データの取得と更新

DataGridViewのデータを取得したり更新したりする方法を見てみましょう:

private void btnUpdateData_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        if (!row.IsNewRow)
        {
            string name = row.Cells["Name"].Value.ToString();
            int age = Convert.ToInt32(row.Cells["Age"].Value);

            // ここでデータを処理する(例:データベースに保存)
            Console.WriteLine($"名前: {name}, 年齢: {age}");
        }
    }
}

このコードは、DataGridView内のすべての行を反復処理し、各行のデータを取得します。

まとめ

DataGridViewは、表形式のデータを扱うための強力なツールです。この記事では以下の点を学びました:

  1. DataGridViewの基本的な使い方
  2. 行の追加と削除の方法
  3. ソート機能の実装
  4. データの取得と更新の方法

これらの基本を押さえておけば、DataGridViewを使って様々なデータ表示や編集機能を実装できます。初心者の方は、まずは簡単なデータ表示から始めて、徐々に機能を追加していくことをおすすめします。実際にコードを書いて動かしてみることで、理解がより深まるでしょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次