Как привязать элементы управления к DataGridView - PullRequest
3 голосов
/ 03 ноября 2008

Я новичок в .NET, поэтому, пожалуйста, будьте терпеливы со мной;)

В моей форме Windows у меня есть DataGridView, который связан с источником данных. Поскольку моя сетка доступна только для чтения, у меня есть набор элементов управления (текстовое поле, флажок и т. Д.) Вне сетки, которые будут использоваться для редактирования данных.

Я хочу, чтобы элементы управления были привязаны к текущей выбранной строке в сетке. В настоящее время, если я устанавливаю привязки данных элементов управления к тому же источнику данных, что и сетка, отображается только первая запись, даже если я перемещаю указатель записи в сетке.

Чего мне не хватает?

Среда: Windows Form, C #, Visual Studio 2008.

Ответы [ 2 ]

3 голосов
/ 03 ноября 2008

, чтобы полностью сохранить это в среде привязки данных Visual Studio, вы можете использовать два BindingSource, один для DataGridView и другой для элементов управления деталями. Это очень похоже на пример, найденный здесь:

http://msdn.microsoft.com/en-us/library/y8c0cxey.aspx

Но вместо того, чтобы использовать детальную таблицу, вы используете свои собственные элементы управления, чтобы показать детали. Эти элементы управления все еще могут быть привязаны к 2-му источнику привязки.

Либо просто обработайте событие SelectionChanged в DataGridView и напишите код, чтобы вручную обновить значения ваших элементов управления. Этот 2-й подход немного более легкий и, вероятно, будет работать немного лучше.

Надеюсь, это поможет!

Адам

0 голосов
/ 03 ноября 2008

Вы хотите проверить пользовательские типы столбцов сетки данных, которые доступны с сеткой данных. Добавьте в специальные столбцы, а затем привяжите список бизнес-объектов к сетке (или к DataSet).

Я думаю, вы даже можете попросить сетку автоматически генерировать разумные столбцы на основе объектов, которые вы ей даете.

Я бы не рекомендовал пытаться встраивать обычные элементы управления в сетку данных как таковую, есть структура столбцов сетки, основанная на ячейках, столбцах и элементах управления редактирования, которые имеют дело с этим материалом. Проведите небольшой поиск в Google на основе этих слов (например, DataBinding / DataGridViewEditingControl), боюсь, у меня нет ресурсов DataGridView для передачи прямо сейчас.


Ой, подождите, извините, я перечитал. Вы хотите посмотреть на объект BindingContext.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...