這個想法是:當用戶選擇一個或多個單元格,然後單擊刪除按鈕,Datagridview將刪除這些選定單元格的整個行。當沒有任何東西顯示如何刪除多個單元格行時,我的思維爆炸了。如果刪除選定的行或單個單元格,問題很簡單。但是,多個單元問題是...刪除選中的單元格的行窗口
有些問題可能會發生:索引超出界限,刪除整個gridview的...
讓我們假設在GridView內容2列,在GridView的數據是不是從分貝。
我試過這段代碼:
while(dgv1.selectedCells.count>0){
dgv1.removeAt(dgv1.selectedCells[0].RowIndex);
}
但這一次整個刪除datagridview的,因爲當GridView中刪除一行,它獲得選擇第一個單元格(第一欄,第一行)。
然後我試試這個:
List<int> rowToDelete = new List<int>();
foreach(DataGridViewCell cell in dgv1.selectedCells){
rowToDelete.add(cell.RowIndex);
}
然後從列表中刪除gridview的行,但是這可能會出現相同的行指數以復加,導致錯誤的行被刪除,可以使代碼更復雜。 請幫忙。
編輯:作爲yatrix推薦,我用這個代碼(我想我得到了他的建議權)
for (int i = dataGridView1.SelectedCells.Count -1; i >=0; i--)
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedCells[i].RowIndex);
}
但是當我選擇單元格比Rows.Count多,出現指數外邊界異常。 另外,如果我在同一行中選擇2個單元格,則會導致刪除錯誤的行(下一行)。這是我的主要問題。
ps:我正在試圖製作一個程序來重命名Windows中的多個文件。
謝謝,這個很好! – Eddie