У меня есть класс со следующими свойствами:Bind DataGridViewComboBoxColumn к вложенному списку
Public string Name { get; set; }
Public string LastName { get; set; }
Public List<string> Jobs{ get; set; }
Свойства Name
и LastName
связаны с DataGridView
, в то время как мне нужно, чтобы связать Jobs
к ComboBox
внутри DataGridView
.
- Если человек имеет 1 работу в
ComboBox
он должен появиться только с номером 1. - Если человек имеет 2 рабочих мест должно появиться с 1 и 2 при нажатии на
ComboBox
.
Например:
John Smith 1
Paul Mayer 1
2
Вот как я добавив ComboBoxColumn
:
private void AddComboBox()
{
DataGridViewComboBoxColumn Jobs = new DataGridViewComboBoxColumn();
foreach (var item in People)
{
for (int i = 0; i < item.Jobs.Count; i++)
{
Jobs.Items.Add(item.Jobs[i]);
}
}
}
Но этот код делает каждый ComboBox
то же самое, так что вместо того, чтобы 1 в первом и 1-2 во втором ComboBox
, я получаю 1-1-2 для каждого ComboBox
.
Есть ли способ получить текущий ComboBox
для добавления элементов? К сожалению, поскольку это ComboBoxColumn
, у меня нет свойства Rows[i]
, подобного ячейкам.
Я также пробовал с привязкой данных, но Jobs
- это список, поэтому DataPropertyName
вызывает ошибку из-за преобразования из списка в строку.
Спасибо всем.
Не могли бы вы опубликовать свой код, где связывание данных происходит? – A3006