C# DataGridView・セルの値を取得する

C#サンプル プログラムプログラミング
スポンサーリンク

C# DataGridView・サンプル プログラム一覧


DataGridViewの列と行を指定して、セルの値を取得するサンプルです。

列の指定は列名と列順の2つの指定方法があります。

列名指定

dataGridView1["列名", 行].Value;

列順指定(左端0から始まる列順)

dataGridView1[列順, 行].Value;

スポンサーリンク

プログラミング

使用部品

No項目名Textname部品
1一覧dataGridView1DataGridView
セルの値を列名で取得ボタンセルの値を列名で取得button1Button
3セルの値を列順で取得ボタンセルの値を列順で取得button2Button

言語:C#

using System;
using System.Data;
using System.Windows.Forms;

namespace sample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // データを作成する
            DataTable dt = createData();
 
            // dataGridViewにデータをセットする
            dataGridView1.DataSource = dt;
 
            // ヘッダーのタイトルを設定する(列名指定(Nameプロパティ))
            dataGridView1.Columns["no"].HeaderText = "No";
            dataGridView1.Columns["title"].HeaderText = "書名";
            dataGridView1.Columns["author_name"].HeaderText = "著者名";
            dataGridView1.Columns["price"].HeaderText = "価格";
            dataGridView1.Columns["publisher"].HeaderText = "出版社名";
            dataGridView1.Columns["publication_date"].HeaderText = "出版年月";
            dataGridView1.Columns["stock"].HeaderText = "在庫";
        }

        ///
        /// データ(DataTable)作成処理
        /// 
        /// データ
        private DataTable createData()
        {

            // DataTableを宣言する
            DataTable dt = new DataTable();

            // 列を作成する          
            dt.Columns.Add("no", typeof(int));                      // No
            dt.Columns.Add("title", typeof(String));                // 書名
            dt.Columns.Add("author_name", typeof(String));          // 著者名
            dt.Columns.Add("price", typeof(Decimal));               // 価格
            dt.Columns.Add("publisher", typeof(String));            // 出版社名
            dt.Columns.Add("publication_date", typeof(DateTime));   // 出版年月
            dt.Columns.Add("stock", typeof(bool));                  // 在庫

            // データを追加する
            dt.Rows.Add(1, "がんばれるC# 入門", "坂本 学", 2980, "ABC出版", "2018/01/01", true);
            dt.Rows.Add(2, "パーフェクトC#", "高橋 健一", 4200, "海上出版  ", "2019/03/03", false);
            dt.Rows.Add(3, "学ぶC#", "工藤 太郎", 1600, "電気出版  ", "2020/08/04", true);
            dt.Rows.Add(4, "初めてのC#", "渡辺 銀時", 2000, "川上出版  ", "2020/10/06", false);
            dt.Rows.Add(5, "どんどん学べるC#", "沢田 剛", 3200, "心の友出版", "2020/11/11", true);

            // dataGridViewを返す
            return dt;
        }

        // セルの値を列名で取得
        private void button1_Click(object sender, EventArgs e)
        {
            // 列
            string sColumn = "title";

            // 行
            int iRow = 2;

            string s = $"セルの値は「{dataGridView1[sColumn, iRow].Value}」です。";
            MessageBox.Show(s, "情報",
                MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
 
        // セルの値を列順で取得
        private void button2_Click(object sender, EventArgs e)
        {
            // 列
            int iColumn = 1;

            // 行
            int iRow = 2;

            string s1 = $"セルの値は「{dataGridView1[iColumn, iRow].Value}」です。";
            MessageBox.Show(s1, "情報",
                MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
}

実行結果

①セルの値を列名で取得

②セルの値を列順で取得

以上です。

スポンサーリンク
タイトルとURLをコピーしました