ПредишенСледващото

DataGridViewComboBoxColumn клас е специализиран вид клас DataGridViewColumn. използвана за логично разположение на клетки, които позволяват на потребителите да избират стойности от списък с опции. DataGridViewComboBoxColumn DataGridViewComboBoxCell колона е свързано клетка във всеки ред DataGridViewRow. който пресича с него.

Клетките могат да бъдат запълнени ръчно чрез създаването им свойства стойност. Или можете да свържете колона с източника на данни се определя от свойствата на DataGridView. DataSource. Ако DataGridView свързан с таблица на база данни, задайте DataPropertyName собственост на името на колона в таблицата. Ако DataGridView е свързано с колекция от предмети, задайте DataPropertyName собственост на името на свойствата на обекта.

Падащия списък на колоната може да бъде запълнена с ръка, се добавя колекция от артикули. Или можете да свържете падащ списък със собствен източник на данни чрез задаване на DataSource собственост на колоната. Ако стойностите са предмети в колекцията или записи в таблица, база данни, вие също трябва да определи свойствата и DisplayMember ValueMember. Имоти DisplayMember показва свойство на обект или колона, база данни, която предоставя на стойностите, показани в падащия списък. Имоти ValueMember показва свойство на обект или колона, база данни се използва за задаване на стойността на имота на клетката.

Типичен сценарий е да се обвърже контрола DataGridView таблицата с база данни родител и задължително падащия списък с съответната таблица дете. Например, може да се свърже контрола DataGridView таблицата с поръчки. съдържащ ProductID колона. и задайте DataSource собственост на колоната, равна на масата на продуктите. и ProductID колони, съдържащи ProductName. В този случай, трябва да се създаде DataPropertyName собственост на колоните е "ProductID" за попълване на стойностите на неговите клетки в колона Orders.ProductID. Въпреки това, за да бъдат показани в клетките на действителните продукти, както и имената на списъка падащото трябва да се покаже на тези стойности в таблицата с продукти. определяне на стойността на имота ValueMember "ProductID" и DisplayMember стойността на имота "ProductName".

Стойности от падащия списък (или стойностите, посочени ValueMember собственост) трябва да съдържа действителната стойност на клетката, или контрол на DataGridView ще хвърли изключение.

В резултат, монтаж DataSource свойства. DisplayMember ValueMember колона и автоматично задаване на подходящи свойства за всички клетки в колоната, включително собственост CellTemplate. За да замените стойностите на тези имоти за отделни клетки, задаване на първата колона имота, след което задайте свойствата на клетките.

За разлика от контрол контрол ComboBox DataGridViewComboBoxCell не притежава свойства SelectedIndex и SelectedValue. Вместо това, изберете от падащия списък се задава стойността на имота на клетката.

По подразбиране този тип използва сортиране режим NotSortable.

Бележки за наследници:

Когато извлича имоти от DataGridViewComboBoxColumn и добавяне на нови свойства на новия клас, не забравяйте да замени метода на Clone за копиране на новите свойства по време на клониране операции. В допълнение, обадете метод Clone базов клас, че свойствата на базовия клас се копират в новата клетка.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!