---恢復內容開始---
最近有一個關於DataGridView刪除指定行的小問題困擾着,問題是這樣的:
DataGridView導入一個xls表格,如下圖:
現在想將以上表格數據插入數據庫,之前是想每成功插入一行數據就在DataGridView里刪除一行(即讓這行不顯示),
沒有成功插入的不刪除(即顯示在DataGridView里)
1 foreach (DataGridViewRow row in dataGridView1.Rows) 2 { 3 //這里寫插入數據庫代碼(略) 4 dataGridView1.Rows.Remove(row);//刪除行 5 }
使用以上代碼后:
最終還是顯示兩行數據,但查詢數據庫發現5條數據已成功插入。
這與之前設想的不對了,之前是想成功插入多少條數據,就在DataGridView里相應的刪除這幾行數據。不成功插入的留下來。
度了很多都未果。后來G了一下,在此網站找到解決問題的靈感。
1 for (int i = 0; i < dataGridView1.Rows.Count; i++) 2 { 3 4 DataGridViewRow row = dataGridView1.Rows[i]; 5 dataGridView1.Rows.Remove(row); 6 i--; //這句是關鍵。。 7 8 }
至此,問題解決,趕緊記錄下來。對於大牛來說,可能這些都不是問題,寫在這里純粹為了備忘。
---恢復內容結束---