撤消DataGridView上已删除的行

本文关键字:删除 DataGridView 撤消 | 更新日期: 2023-09-27 17:59:18

我有一个从Excel文件导入数据的DataGridView。在表单上,它有一个删除按钮,如果从DataGridView表中选择了一行,则单击删除按钮,所选行将被删除。

有没有办法"撤消"删除?我需要制作一个功能正常的撤消按钮。

撤消DataGridView上已删除的行

DataGridView在实际删除行之前有一个名为UserDeletingRow的事件,允许您取消删除过程。

private void dgv1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
    e.Cancel = MessageBox.Show("Really delete ?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel;
}

您可以使用DataGridView.UserDeletingRow事件在删除行之前保存行值,然后在撤消时插入具有保存值的新行。或者只需隐藏行,然后在撤消时取消隐藏。

如果您将DataTable用于DataGridView.DataSource,那么您可能可以使用类似的东西将DataRow保存在DataGridView.UserDeletingRow事件中

lastDeletedDataRow = e.Row.DataBoundItem as DataRow;

然后在撤消时尝试CCD_ 5。