У меня есть форма (на самом деле Compact Framework) с несколькими полями, датой и строкой, между прочим. Оба элемента управления TextBox связаны со свойствами в BindindSource.
BindindSource имеет DataSet в качестве свойства DataSource, а DataMember является таблицей в базе данных SQL CE.
Когда я хочу добавить новую строку, я вызываю bindingSource.AddNew (), затем bindingSource.MoveLast (). Форма показывает значения по умолчанию (как определено в DataSet), и я могу редактировать все поля.
Чтобы сохранить форму, я вызываю bindingSource.EndEdit () и вставляю значения из строки DataSet в базу данных, используя метод TableAdapter. Дата попадает в базу данных, строка - нет. Вместо этого сохраняется значение по умолчанию для строки, а не значение, которое я набрал в текстовом поле.
Когда я проверяю данные в строке таблицы DataSet после вызова EndEdit (), поле даты обновляется данными из формы, строка не является.
Как ни странно, когда я редактирую существующую строку с той же формой (без вызова AddNew), строковое поле обновляется и сохраняется очень хорошо. Так что это происходит только после вызова AddNew () в BindingSource. Что мне не хватает? С чего мне начать искать?
К сожалению, код слишком велик для размещения здесь, к сожалению.