I am using datagrid bound to a datatable:
DataTable dt = ...;
MyGrid.DataSource = new DataView(dt);
Now I am trying to intercept delete operation, when user highlights a row
and presses delete key. For this, I am using dt.RowDeleting event:
private void dt_RowDeleting(object sender, DataRowChangeEventArgs e)
{
DialogResult ret = MessageBox.Show("Are you sure?", "Data Grid",
MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
if (ret != DialogResult.Yes)
{
if (e.Action == DataRowAction.Delete)
{
((DataTable)sender).RejectChanges();
//??? }
}
}
It shows the warning message, executes RejectChanges when I click NO, but it
does not seem to work: a row is deleted anyway. Probably, I need to use some
other method to cancel deleting, but I have no idea which one.
Does anybody know how to fix that?
Thank you.