У меня есть DataGridView
, привязанный к выражению запроса LINQ to SQL. Я хочу, чтобы его можно было редактировать для обновлений, но для вставок я хочу, чтобы пользователи использовали отдельные элементы управления под сеткой (текстовые поля, средства выбора даты и т. Д. - в настоящее время ни к чему не привязаны). У меня есть кнопка «Добавить», которая создает объект класса сущности linq to sql на основе значений в элементах управления, а затем вызывает InsertOnSubmit()
. Когда я позже вызываю SubmitChanges()
, все обновления из сетки и любые добавленные объекты правильно сохраняются в базе данных.
Моя проблема в том, что новые объекты не добавляются в сетку до или после вызова SubmitChanges()
. Я хочу, чтобы новые объекты добавлялись в сетку сразу после их создания. Кроме того, я хочу, чтобы элементы управления под сеткой использовались только для вставки новых записей, а не для редактирования существующих записей, поэтому я не думаю, что они должны быть привязаны к источнику данных ... Как лучше всего это сделать?
Я попытался просто переустановить DataSource
для сетки (например, dataGridView.DataSource = db.<TableName>
, который работает, но неуклюже, потому что он снова прокручивается в верхнюю часть сетки - я уверен, что существует лучший метод.
(Прошу прощения за вопрос о n00b, я новичок во всем этом .net: P)