DataGridViewがプリロードされたwinformがあります...行を選択または強調表示してボタンをクリックすると、datagridviewから行を削除します...
また、すべての列をクリアしたい...
現在使用しています
foreach (DataGridViewRow dgvr in dataGridView2.Rows)
{
if (dgvr.Selected == true)
{
dataGridView2.Rows.Remove(dgvr);
}
}
しかし、「行があるか、コミットされていない」などの例外がスローされます。誰かより良い提案があると、それはありがたいことです。
DataGridViewでAllowUserToAddRows
を有効にしている場合、ユーザーが作成した次の行のプレースホルダーであるDataViewの下部にある空の行を誤って削除している可能性があります。必要ない場合は、このオプションを無効にしてください。それ以外の場合は、次のようなコードを使用してみてください。
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
if(!row.IsNewRow)
dataGridView1.Rows.Remove(row);
}