0
所以在我的代碼中,我有一個刪除按鈕,然後單擊時將從網格中刪除選定的行。DataGridView刪除行單元格仍顯示在代碼中,即使從網格中刪除
這似乎在UI級別上工作。
但是,當我不得不從網格中的單元重新驅動我的數據時,不知何故,我剛剛刪除的東西仍然在那裏。我在調試模式下逐行循環時瞭解到了這一點。
我的基算法來自this stackoverflow post的第一個答案。 現在我看了一下關於RemoveAt實際上做什麼的MSDN here 不幸的是,這並不是很有啓發性。
Removes the row at the specified position from the collection.
這是我的代碼。
private void Delete_Click(object sender, EventArgs e)
{
if (this.DataView.SelectedRows.Count > 0)
{
foreach (DataGridViewRow item in DataView.SelectedRows)
{
DataView.Rows.RemoveAt(item.Index);
}
}
refreshDataFromGrid();
}
現在,這裏是從什麼是網格
private void refreshDataFromGrid()
{
//if the rows in the gridview aren't empty copy them over to the String array in d.value
for (int i = 0; i < DataView.Rows.Count; i++)
{
for (int j = 0; j < DataView.Rows[i].Cells.Count; j++)
{
if (DataView.Rows[i].Cells[j].ToString() != "")
{
(DataViewParent as STS_Console.MenuItems.MenuItem).d.Value[i, j] = DataView.Rows[i].Cells[j].Value.ToString();
}
}
}
}
我將很高興提供的截圖或者根據需要什麼,就問導出數據的部分。