2025.02.06 DataGridView : 列を削除する
private void Form1_Load(object sender, EventArgs e)
{
foreach (var idx in Enumerable.Range(0, 5))
{
dataGridView1.Columns.Add(Convert.ToString((char)('A' + idx)), Convert.ToString((char)('A' + idx)));
dataGridView1.Rows.Add((idx + 1).ToString());
}
foreach (DataGridViewColumn item in dataGridView1.Columns)
{
item.SortMode = DataGridViewColumnSortMode.NotSortable;
}
dataGridView1.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect;
}
private void button1_Click(object sender, EventArgs e)
{
// データグリッドビューの選択された列を削除するには、
// Columns コレクションの Remove メソッドに削除したい列を渡します。
foreach (DataGridViewColumn item in dataGridView1.SelectedColumns)
{
dataGridView1.Columns.Remove(item);
}
}
private void button2_Click(object sender, EventArgs e)
{
// データグリッドビューの列を列名を指定して削除するには、Remove メソッドを使用します。
// 通常列を追加するときには、列名を空文字列にして、ヘッダーしか指定しないこともあります。
// 列名を指定していない場合は、Remove メソッドにより削除できません。
dataGridView1.Columns.Remove("A");
}
private void button3_Click(object sender, EventArgs e)
{
// データグリッドビューの列をインデックス番号を指定して削除するには、RemoveAt メソッドを使用します。
dataGridView1.Columns.RemoveAt(0);
}
2025.02.06 DataGridView : 行を削除する
private void Form1_Load(object sender, EventArgs e)
{
foreach (var idx in Enumerable.Range(0, 5))
{
dataGridView1.Columns.Add("", Convert.ToString((char)('A' + idx)));
dataGridView1.Rows.Add((idx + 1).ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
// データグリッドビューの選択された行を削除するには、Rows コレクションの Remove メソッドに削除したい行を渡します。
// 尚、新規データ追加行 (*) は削除できませんので、除外しています。
foreach (DataGridViewRow item in dataGridView1.SelectedRows)
{
if (!item.IsNewRow)
{
dataGridView1.Rows.Remove(item);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
// データグリッドビューの行をインデックス番号を指定して削除するには、RemoveAt メソッドを使用します。
dataGridView1.Rows.RemoveAt(3);
}
2025.02.06 DataGridView : Delete キーによる行削除を無効にする
private void Form1_Load(object sender, EventArgs e)
{
// データグリッドビューは、行ヘッダー上で、Delete キーを入力すると行を削除する機能を持っています。
// この機能を無効にします。
dataGridView1.ColumnCount = 5;
dataGridView1.RowCount = 5;
dataGridView1.AllowUserToDeleteRows = false;
}
2025.02.06 DataGridView : 行が新規データ追加行 (*) であるかを判断する
private void button1_Click(object sender, EventArgs e)
{
// データグリッドビューの各行をチェックして、新規データ追加行 (*) かを判断しています。
foreach (var idx in Enumerable.Range(0, dataGridView1.Rows.Count))
{
if (dataGridView1.Rows[idx].IsNewRow)
{
dataGridView1[0, idx].Value = "新規";
}
}
}