Рейтинг:
2
Wendelius
Если я правильно понял вопрос, вы могли бы
- Вместо того чтобы заполнять datatable из базы данных, определите таблицу данных, имеющую желаемую структуру, соответствующую вашему datagridview (и вашей фактической таблице)
- привязать datatable к datagridview
- вносить изменения в datatable (пользователем)
- использовать объект oledbdataadapter, чтобы отразить изменения из объекта DataTable к базе данных Access.
Взгляните на следующую статью: Как привязать данные к элементу управления Windows Forms DataGridView[^] Он использует классы Sql Server, такие как SqlCommand или SqlConnection, но вместо этого вы, вероятно, будете использовать OleDbCommand и OleDbConnection и т. д. В противном случае это должно помочь вам начать.
Maciej Los
Хорошее предложение. 5ед!
newcoder1
ваше решение не сработает в моем случае
потому что если я привязываю datatable к datagridview, то я не могу использовать какой-либо элемент управления, который я унаследовал от datagridview
Wendelius
Не совсем понимаю, что ты имеешь в виду. Можете ли вы опубликовать пример кода
newcoder1
ладно Мика вот в чем дело
я приготовлю стол
затем я заполняю его схемой из базы данных
тогда я свяжу его в элемент управления datagridview.источник данных dataSource=таблица
поэтому после привязки>>> Если я хочу добавить новую строку в datagridview с помощью кода, я не смогу
я не смогу использовать такой код( элемента управления datagridview.строк.добавить)
вместо этого это будет код bindingsource
так что это будет похоже на bindingsource. addnew()
и это проблема, когда я использую bindingsource.addnew (), он не добавит пользовательские coulmns datagridview
он добавит только обычную строку, которая появится в datagridview, так как она привязана к datatable
понял?
попробуйте сами
Wendelius
Тот факт, что вы не можете добавлять строки в datagridview напрямую, но вы должны добавлять строки в таблицу данных, является преднамеренным. Когда вы привязываете сетку к источнику данных, все изменения данных должны быть сделаны к объекту, содержащему данные, а не к сетке, которая только визуализирует данные. Так что в этом есть смысл.
Однако я не уверен, что вы имеете в виду, что код не будет добавлять пользовательские столбцы. Количество столбцов обычно статично. Я так понимаю, вы имеете в виду, что вы не можете использовать пользовательский редактор для ячейки в пользовательском столбце для новой добавленной строки. Для этой проблемы, пожалуйста, обратитесь к примеру, который я опубликовал в предыдущем комментарии. Это должно объяснить, как вы можете использовать настраиваемый редактор для данных в конкретной ячейке.
newcoder1
дайте мне пример кода для того, что вы говорите, пожалуйста