откат Datagridview

  • Автор темы Niceday
  • Дата начала
N

Niceday

#1
Вопрос простой, но честно сам найти ответ затрудняюсь

1
Код:
private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
DialogResult result;
result = MessageBox.Show("Are you sure?", "Product deleting", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
//Здесь идет работа с MSQL (все нормально)
}
else
{
// а вот здесь надо остановить удаление... и оставить Row впокое, вопрос только как...
}
}
2
так же есть проблема с изменением Row
1ый вариант: сую обработку в изменение клетки, старые элементы таблицы сохраняются, но при добавление нового Row, возникает проблема с клетками в которых не может быть 0 (т.к. запрос на сохранение и эксцепшен выскакивают после изменения каждой клетки), но тут работает dataGridView1.CancelEdit(); в случае if (result != DialogResult.Yes)

2ой вариант (работает лучше)
в изменение клетки сунуть флаг, что что-то поменяли (rowchangedflag = 1;)
и при выборе другого Row если rowchangedflag == 1, выдавать запрос сохранить изменения или нет, но тут возникает проблема с CancelEdit(); (он ничего вообще не откатывает)
 
N

Niceday

#3
c 1 разобрался, спасибо
Код:
else
{
e.Cancel = true;
}
осталось 2ое :(
 
N

Niceday

#4
это было понятно еще когда писал на форуме, но спасибо что более ясно выразил мою мысль, что-то я неправильно делаю в обоих вариантах. я просто хочу выяснить какой из 2 вариантов лучше и как его довести до ума (нужно чтоб после изменения клетки в существующем row или полного заполнения нового, высаккивало сообщение сохранить изменения или нет (если нажали да, то как базу обновить я знаю, а вот при нажатии нет надо или клетку откатить или строку соответственно)