• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

откат Datagridview

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

Niceday

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

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(); (он ничего вообще не откатывает)
 
P

Pasha

Посмотри свойства DataGridViewRowCancelEventArgs.
 
N

Niceday

c 1 разобрался, спасибо
Код:
else
{
e.Cancel = true;
}

осталось 2ое :(
 
N

Niceday

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!