Клас DataGridViewComboBoxColumn є спеціалізованим типом класу DataGridViewColumn. використовуваним для логічного розміщення осередків, які дозволяють користувачам вибирати значення зі списку варіантів. Стовпець DataGridViewComboBoxColumn має пов'язану осередок DataGridViewComboBoxCell в кожному рядку DataGridViewRow. яка перетинається з ним.
Осередки можна заповнювати вручну, шляхом установки їх властивостей Value. Або можна зв'язати стовпчик з джерелом даних, вказуються за допомогою властивості DataGridView. DataSource. Якщо уявлення DataGridView пов'язано з таблицею бази даних, встановіть властивість DataPropertyName рівним імені стовпця в таблиці. Якщо уявлення DataGridView пов'язано з колекцією об'єктів, встановіть властивість DataPropertyName рівним імені властивості об'єкта.
Список, що розкривається стовпця можна заповнити вручну, додавши колекцію Items. Або можна пов'язати розкривається зі своїм власним джерелом даних, задавши властивість стовпчика DataSource. Якщо значення є об'єктами в колекції або записами в таблиці бази даних, необхідно також задати властивості DisplayMember і ValueMember. Властивість DisplayMember показує, яке властивість об'єкта або який стовпець бази даних надає значення, які відображаються в списку. Властивість ValueMember показує, яке властивість об'єкта або який стовпець бази даних використовується для завдання властивості Value осередки.
Один типовий сценарій полягає в зв'язуванні елемента управління DataGridView з батьківської таблицею бази даних і зв'язуванні списку з відповідною дочірньою таблицею. Наприклад, можна було б пов'язати елемент управління DataGridView з таблицею Orders. містить стовпець ProductID. і встановити властивість DataSource стовпчика рівним таблиці Products. містить стовпці ProductID і ProductName. В цьому випадку слід було б встановити властивість DataPropertyName стовпчика рівним "ProductID" для заповнення значень його осередків з шпальти Orders.ProductID. Однак для відображення в осередках імен реальних продуктів і списку, слід було б відобразити ці значення в таблицю Products. встановивши для властивості ValueMember значення "ProductID" і для властивості DisplayMember значення "ProductName".
Значення списку (або значення, що позначаються властивістю ValueMember) повинні містити фактичні значення осередків, інакше елемент управління DataGridView видасть виняток.
В результаті установки властивостей DataSource. DisplayMember і ValueMember стовпця автоматично встановлюються відповідні властивості всіх осередків в стовпці, включаючи властивість CellTemplate. Щоб перевизначити значення цих властивостей для конкретних осередків, встановіть спочатку властивість стовпчика, а потім задайте властивості осередків.
На відміну від елемента управління ComboBox елемент управління DataGridViewComboBoxCell не має властивостей SelectedIndex і SelectedValue. Замість цього при виборі значення із списку встановлюється властивість Value осередки.
За замовчуванням для цього типу використовується режим сортування NotSortable.
Примітки для успадковують об'єктів:
Під час вилучення властивостей з DataGridViewComboBoxColumn і додаванні нових властивостей в похідний клас не забудьте перевизначити метод Clone для копіювання нових властивостей під час операцій клонування. Крім того, необхідно викликати метод Clone базового класу, щоб властивості базового класу копіювалися в новий осередок.