6月 14

行を削除する

DataGridViewの行を削除する例です。
RowsコレクションのRemove関数、RemoveAt関数を利用します。

            // 最初の行を削除
            dataGridView1.Rows.RemoveAt(0);

            // 削除する行を指定して削除
            DataGridViewRow row = dataGridView1.Rows[0];
            dataGridView1.Rows.Remove(row);
6月 14

行を追加する

チェックボックスとテキストボックスを列に持つ
DataGridViewの行を追加する例です。

object型の配列で1行分のデータを用意し
それをRowsコレクションのAdd関数で追加しています。

dgv_addrow

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

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

        private void Form1_Load(object sender, EventArgs e)
        {
            for(int i = 0; i < 10; i ++)
            {
                object[] row = { true, "りんご" + i.ToString() };
                dataGridView1.Rows.Add(row);
            }
        }
    }
}
6月 14

セルを読み取り専用にする

DataGridViewのセルを読み取り専用にするには
ReadOnlyプロパティーにtrueを設定します。
(解除の場合は逆にfalseを設定)

            // 指定セルを読み取り専用にする
            dataGridView1[0, 0].ReadOnly = true;

            // 全体を読み取り専用にする
            dataGridView1.ReadOnly = true;
6月 14

カレントセルを取得、設定する

DataGridViewの現在選択中のカレントセルを取得、設定するには
CurrentCellプロパティーを利用します。

            // カレントセルの値を参照
            dataGridView1.CurrentCell.Value;        // 値
            dataGridView1.CurrentCell.RowIndex;     // 行
            dataGridView1.CurrentCell.ColumnIndex;  // 列
            dataGridView1.CurrentCell.ReadOnly;     // 読み取り専用か否か

            // カレントセルを変更
            dataGridView1.CurrentCell = dataGridView1[0, 0];
6月 14

DataGridViewとは

DataGridViewとは非常に柔軟なコントロールで
スプレッドシートやExcelの表に近い使い方が可能です。

Formに貼り付けただけでは何も表示されませんが
DataGridViewのColumnsコレクションを編集することで列を追加可能です。

以下はデザイン画面でDataGridViewのColumnsコレクションを編集しているところです。

dgv_columns

列に追加できるコントロールは
・ボタン
・チェックボックス
・コンボボックス
・イメージ
・ラベル
・テキストボックス
となっています。

試しに一通り各コントロールを1種類1つずつ配置した結果が以下です。

dgv

入力と出力を兼ねているので
ひとつのコントロールで色々な事ができますが
反面、出来ることが多いので最初は使い方に戸惑うかもしれません。

実際の使い方は別節で個別に説明していきます。