Не удается изменить ячейку DataGridView в С#

У меня есть datagridview в приложении Windows Forms С#. Его источником данных является DataSet, в котором есть TableAdapter. В методе SQL, который получает результаты, есть пара ВНУТРЕННИХ СОЕДИНЕНИЙ. Данные отображаются в виде сетки, но у меня есть поле, которое я хочу обновить. Но это только для чтения в gridview. Значение только для чтения для этой ячейки устанавливается равным false. Я где-то читал, что мой источник данных не обновляется, и именно поэтому элемент управления gridview не позволяет мне его обновлять. Но я должен обновить его. У вас есть какое-нибудь решение?


person Andrej    schedule 12.08.2011    source источник
comment
Является ли поле вычисляемым полем?   -  person evasilchenko    schedule 12.08.2011
comment
У вас включено редактирование в GridView? Можете ли вы опубликовать код?   -  person James Johnson    schedule 12.08.2011
comment
@DeviantSeev нет, это не вычисляемое поле. Это поле прямо из базы данных.   -  person Andrej    schedule 12.08.2011
comment
@Джеймс Джонсон grdStudents.DataSource = ds; ds — это набор данных.   -  person Andrej    schedule 12.08.2011
comment
@Andrej: Это не отвечает на мой вопрос. У вас включено редактирование в GridView?   -  person James Johnson    schedule 12.08.2011
comment
Да, у меня включено редактирование и ячейка не только для чтения.   -  person Andrej    schedule 12.08.2011


Ответы (1)


Вероятно, это связано с использованием TableAdapter с объединениями — мастер TableAdapter не может автоматически генерировать команды Insert, Update и Delete при использовании соединений.

Вы можете проверить, так ли это, просмотрев свойства TableAdapter в конструкторе наборов данных — команды будут отображаться (Нет).

Вот руководство по добавлению этих команд в TableAdapter: http://www.asp.net/data-access/tutorials/updating-the-tableadapter-to-use-joins-vb

Лично я предпочитаю использовать собственный уровень доступа к данным, полностью отказываясь от TableAdapter и его автоматически сгенерированного кода.

person David Hall    schedule 14.08.2011
comment
Я собираюсь оставить ответ, если он окажется полезным, но я только что попытался использовать адаптер таблицы с соединениями, и редактирование datagridview работает нормально. - person David Hall; 14.08.2011