Я пытаюсь включить редактирование для ряда столбцов в моем DataGridView. Теперь перед любыми предложениями я должен прочитать статью MSDN: Как: Указать режим редактирования для элемента управления DataGridView Windows Forms , у меня уже есть.
В итоге (и я цитирую):
- Базовый источник данных поддерживает редактирование.
- Элемент управления DataGridView включен.
- Значение свойства EditMode не является EditProgrammatics.
- Все свойства ReadOnly ячейки, строки, столбца и элемента управления имеют значение false.
Все это простой и здравый смысл. Я подтвердил, что Enabled = true
. Я подтвердил, что EditMode
равен EditOnKeystrokeOrF2
Я подтвердил, что все столбцы (кроме одного) ReadOnly = false
.
Что мне кажется интересным, так это первая строка: -
Базовый источник данных поддерживает редактирование.
Теперь я привязываю данные к DGV: -
// Grab all the Foos.
var foos = (from x in MyRepository.Find()
select new
{
x.Foo1,
x.Foo2,
...
x.FooN
}).ToList();
// Now lets bind this result to the GridView.
dataGridView2.DataSource = foos;
Который я считал правильным способом ..
То, что я планировал сделать, было, когда ячейка изменилась, и пользователь затем покинул ячейку, вот где я планировал получить данные, которые только что были изменены (выяснить это вручную) и затем вручную обновите БД.
Это правильный способ делать вещи?