Как заставить проверку ячейки DataGridView перед закрытием формы? - PullRequest
0 голосов
/ 21 февраля 2019

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

Моя проблема: Если я изменяю значение ячейки и закрываю форму без нажатия Enter или выбираю другую ячейку раньшепоследнее значение не сохраняется.

Есть ли способ решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Если у вас есть DataTable как DataSource вашего DataGridView, затем используйте следующий код для подтверждения и завершения редактирования:

this.Validate();
dataGridView1.BindingContext[yourDatTable].EndCurrentEdit();
0 голосов
/ 21 февраля 2019

Сначала проверьте, как работает событие CellValueChanged.Я думаю, что в вашем случае, когда вы закрываете форму, событие не вызывается.Что бы я сделал, когда вы закрываете Form, вызывается событие «FormClosing», которое вызывает метод («SaveThisNewValue ()»), который сохраняет ваше значение.Метод сохранения ваших значений также используется в событии cellValueChanged

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        SaveThisNewValue();
    }

    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        SaveThisNewValue();
    }

    private void SaveThisNewValue()
    {
        //saves the cell value
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...