获取已删除的DataGridView行的单元格值

我的datagridview itemDelete函数:

this.dgv_items.RowsRemoved += this.dgv_items_itemDelete; private void dgv_items_itemDelete(object sender, DataGridViewRowsRemovedEventArgs e) { try { int row = e.RowIndex; string name = dgv_items.Rows[row].Cells[0].Value.ToString(); deleteFromDB(name); } catch (Exception) { } } 

但是当我们到达此代码时,该行将被删除,这意味着dgv_items.Rows[row].Cells[0].Value获取该行的下一行的值。

我想获取已删除行的Cells[0]值,因此我也可以从数据库文件中删除该项目。 我怎样才能做到这一点?

您可以改为处理UserDeletingRow事件。 请注意,它支持事件取消。

使用RowEnter事件选择行时,可以暂时将单元格的值保存在变量中:

 private void dgv_items_RowEnter(object sender, DataGridViewCellEventArgs e) { try { // tempValue is a class var tempValue = dgv_items.Rows[e.RowIndex].Cells[0].Value.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 

然后在删除之前检索tempValue。