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 Властивості «Марка».
Список, що розкривається значень (або значень, позначається ValueMember властивість) повинен включати фактичні значення осередків або DataGridView управління буде створено виняток.
Налаштування стовпчика DataSource. DisplayMember. і ValueMember Властивості автоматично встановлює відповідні властивості всіх осередків в тому числі стовпець CellTemplate. Щоб перевизначити значення цих властивостей для конкретних осередків, спочатку задати властивість шпальти і задайте властивості осередку.
На відміну від ComboBox управління DataGridViewComboBoxCell не має SelectedIndex і SelectedValue Властивості. Замість цього, вибравши значення із списку задає осередок Value властивість.
За замовчуванням використовується режим сортування для стовпців даного типу NotSortable.
Нотатки для розробників похідних класів:
При спадкуванні від DataGridViewComboBoxColumn і додавати нові властивості похідного класу, необхідно перевизначити Clone метод, щоб скопіювати нові властивості під час операцій копіювання. Також слід викликати базовий клас Clone метод, щоб властивості базового класу копіювалися в новий осередок.