ComboBox в Windows формирует элемент управления Datagridview - PullRequest
1 голос
/ 05 июля 2010

У меня есть датагридвью в форме окна.У него есть столбец [EmployeeNumber, EmployeeName and EmployeeDepartment].

Я хочу иметь возможность редактировать значения непосредственно в сетке, но я хочу, чтобы EmployeeDepartment был столбцом комбинированного списка, чтобы при редактировании ячейки отображался комбинированный список с доступными параметрами для отдела сотрудников.Кто-нибудь смог реализовать такую ​​функциональность?

1 Ответ

5 голосов
/ 05 июля 2010

DataGridView на самом деле имеет DataGridViewComboBoxColumn. Если вы перейдете к конструктору столбцов и добавите новый столбец, вы заметите, что можете выбрать один из нескольких типов. Он ведет себя точно так, как вы описали - при редактировании он появляется. DataGridView использует так называемые элементы управления для редактирования и имеет различные события для добавления элемента управления в ячейку при редактировании.

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

Чтобы заполнить поле со списком элементами, в редакторе столбцов вы заметите, что у него есть свойство Items для ручной настройки элементов, или вы можете использовать свойства привязки данных: DataSource, DisplayMember, ValueMember. При связывании данных возникают проблемы, когда ожидаемое значение отсутствует в коллекции элементов, вы получите много ошибок в ячейках; но их можно избежать.

Некоторые полезные ссылки:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcolumn.aspx

http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e8e2d9eb-fe39-42ab-9a18-2194dac54675/

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