Как бы я уведомил пользователя о несохраненных изменениях в DataGridView DataTable при закрытии? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть таблица данных, которая показывает таблицы из базы данных SQL. Я могу редактировать эти таблицы. Затем у меня есть кнопка, которая сохраняет эти изменения и обновляет эту таблицу в базе данных SQL Server.

Как мне обнаружить изменения в таблице и уведомить пользователя, когда он закрывает форму или переходит к другой таблице, что он не сохранил свои изменения? Код за окном уведомления о несохраненных изменениях будет выглядеть примерно так:

 if (MessageBox.Show("Do you want to save your changes!", "Save changes", MessageBoxButtons.YesNo) == DialogResult.Yes)
        {
            scb = new SqlCommandBuilder(sda);
            DataTable dt;
            sda.Update(dt);
            MessageBox.Show("Changes saved");
        }

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

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

0 голосов
/ 07 сентября 2018

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

Или, может быть, вы просто можете сохранять свои изменения каждый раз, когда пользователь закрывает форму. Вы должны рассчитывать с неправильным поведением пользователя каждый раз ...:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...