У меня есть datagridview в приложении Windows Forms С#. Его источником данных является DataSet, в котором есть TableAdapter. В методе SQL, который получает результаты, есть пара ВНУТРЕННИХ СОЕДИНЕНИЙ. Данные отображаются в виде сетки, но у меня есть поле, которое я хочу обновить. Но это только для чтения в gridview. Значение только для чтения для этой ячейки устанавливается равным false. Я где-то читал, что мой источник данных не обновляется, и именно поэтому элемент управления gridview не позволяет мне его обновлять. Но я должен обновить его. У вас есть какое-нибудь решение?
Не удается изменить ячейку DataGridView в С#
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
Я собираюсь оставить ответ, если он окажется полезным, но я только что попытался использовать адаптер таблицы с соединениями, и редактирование datagridview работает нормально.
- person David Hall; 14.08.2011