откат Datagridview

Тема в разделе ".NET", создана пользователем Niceday, 24 апр 2007.

  1. Niceday

    Niceday Гость

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

    1
    Код (Text):
    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(); (он ничего вообще не откатывает)
     
  2. Pasha

    Pasha Гость

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

    Niceday Гость

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

    Niceday Гость

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

Поделиться этой страницей