2012-06-29 91 views
11

我有預加載的DataGridView一個winform過......我想從DataGridView上選擇或突出顯示的行,然後點擊了按鈕刪除行...如何從DataGridView中刪除行?

而且要清除所有列....

目前我使用

foreach (DataGridViewRow dgvr in dataGridView2.Rows) 
{ 
    if (dgvr.Selected == true) 
    { 
     dataGridView2.Rows.Remove(dgvr); 
    } 
} 

但它拋出一個異常,說:「行或不COMMITED」什麼的....這將是明顯的,如果任何人有任何更好的建議....

回答

23

如果在DataGridView上啓用了AllowUserToAddRows,那麼您可能會意外刪除DataView底部的空行,這是下一個用戶創建的行的佔位符。如果不需要,請嘗試禁用此選項,否則請嘗試使用如下代碼:

foreach (DataGridViewRow row in dataGridView1.SelectedRows) 
{ 
    if(!row.IsNewRow) 
     dataGridView1.Rows.Remove(row); 
}