У меня есть Button
на моем Form
, который при нажатии вызывает myBindingSource.AddNew()
. Элементы управления, относящиеся к установке значений в этой новой строке, становятся видимыми.
При событии закрытия этого Form
я звоню myDataSet.HasChanges()
и, если он возвращает True
, я запрашиваю пользователя, хотят ли они сохранить внесенные изменения.
В ситуации, когда Пользователь щелкает, чтобы добавить новую строку, но затем закрывает Форму (по какой-либо причине) без установки каких-либо значений, myDataSet.HasChanges()
вернет True
, очевидно, потому что происходит добавление новой строки.
Мне бы хотелось, чтобы он возвращал False
, если единственное изменение - это новая строка.
Я пытался позвонить myBindingSource.EndEdit()
, затем myDataSet.AcceptChanges
сразу после myBindingSource.AddNew()
, но myDataSet.HasChanges()
все еще возвращает True
.
Я подумал, что, позвонив по номеру myDataSet.AcceptChanges()
, это, по сути, сотрет шифер, и только те изменения, которые были сделаны после этой точки, будут обнаружены.
Или, в качестве альтернативы, если есть лучший подход к этому, я бы хотел услышать это.
Мне очень нравится идея сохранения только в DataBase
за один раз при запросе сохранения, вместо вставки новой строки в Button.Click
и обновления этой строки при каждом изменении значения.