我有一个从Excel文件导入数据的DataGridView。在表单上,它有一个删除按钮,其中如果从DataGridView表中选择一行,则单击删除按钮,删除所选行。
有没有办法'撤消'删除?我需要制作一个正常运行的撤销按钮。
答案 0 :(得分:0)
DataGridView有一个名为UserDeletingRow的事件,该事件在实际删除该行之前发生,从而使您可以取消删除过程。
private void dgv1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
e.Cancel = MessageBox.Show("Really delete ?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel;
}
答案 1 :(得分:-1)
您可以使用DataGridView.UserDeletingRow Event在删除行之前保存行值,然后在撤消时插入包含已保存值的新行。或者只是隐藏行并在撤消时取消隐藏它。
如果您对07-30 03:59:04.407 11837-11837/com.plan.aplikacjamobilna W/System.err: com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class com.plan.aplikacjamobilna.WeightDataJson]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?)
07-30 03:59:04.407 11837-11837/com.plan.aplikacjamobilna W/System.err: at [Source: [{"weightValue":"14","dateValue":"213123"}]; line: 1, column: 3] (through reference chain: java.util.ArrayList[0])
使用DataTable
,那么您可以将DataGridView.DataSource
保存在DataRow
事件中,例如
DataGridView.UserDeletingRow
然后在撤消时尝试lastDeletedDataRow = e.Row.DataBoundItem as DataRow;
。