DataSet.HasChanges не работает для выбранной строки (onClick MenuStrip)

У меня есть datagridview, связанный с MyDataSet.

При загрузке формы я заполняю datagridview этой командой:

MyTableAdapter.Fill(this.MyDataSet.ExtractData);

Теперь я добавил MenuStrip и хочу получать изменения MyDataSet, когда я нажимаю "Файл/Сохранить", но если я изменяю только одну строку и эта строка остается выделенной, когда я нажимаю "Файл/Сохранить", нет обнаружено изменение, и MyDataSet.HasChanges() всегда возвращает false.

MyDataSet.HasChanges() возвращает true, только если я нажимаю кнопку или другой объект формы, а не если я нажимаю MenuStrip.

Почему? Есть обходной путь? (Я пытался вызвать EndEdit на Dgv и обновить набор данных, но не работает...)


person T30    schedule 09.01.2014    source источник
comment
Единственный способ, который я нашел, это вызвать AnotherObject.Focus() перед проверкой HasChanges, а затем переустановить фокус на dgv... Но это не чудесно...   -  person T30    schedule 09.01.2014


Ответы (1)


Используйте это до открытия меню:

dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);
person Arin Ghazarian    schedule 09.01.2014
comment
Я пытался поместить эту строку в событие меню onClick, но все равно не работает... - person T30; 09.01.2014