2017-01-14 8 views
1

Мне нужна ваша помощь относительно C# datagridview. Я хочу создать datagridview из источника данных. Сетка данных имеет 4 столбца. Столбец1: имя Столбец2: Фамилия Столбец3: пол Столбец4: Страна. Столбец страны - столбец со списком.Заполнение столбца Combobox в Datagridview из источника данных

Я создал источник данных и установил источник данных в сетку. Первые три столбца генерируют, но поле Combo не добавляется. Вот пример кода моего приложения

List<Mydataclass> dataclassList = new List<Mydataclass>(); 
for (int i = 0; i < 5; i++) 
     { 
      Mydataclass dataclass = new Mydataclass(); 
      dataclass.firstname = "firstname" + i; 
      dataclass.secondname = "second name" + i; 
      dataclass.gender = "gender" + i; 
      dataclass.country = new string[] { "BD", "AUS"}; 

      dataclassList.Add(dataclass); 

     } 
BindingSource bindingSource1 = new BindingSource(); 

     bindingSource1.DataSource = dataclassList; 
     dataGridView1.DataSource = bindingSource1; 

Когда я запустить приложение, то DataGrid показывает с 3 столбца, а столбец поле со списком не порождающим.

Пожалуйста, помогите мне найти проблему.

Заранее спасибо.

ответ

1

Это то, что работает для меня:

// This is the list of items to be displayed in the DataGridView Combobox Column 
string[] listOfItems = new string[]{"Apple", "Banana", "Orange"}; 

// Define a BindingSource and add the items to it (alas, there is no AddRange()) 
BindingSource bs = new BindingSource(); 

foreach (string item in listOfItems) 
{ 
    bs.Add(item); 
} 

// Set binding (MyComboColumn is the name you gave to your combo column, see image below) 
this.MyComboColumn.DataSource = bs; 

enter image description here