2017-01-14 7 views
1

Ich brauche Ihre Hilfe in Bezug auf C# Datagridview. Ich möchte eine Datagridview von einer Datenquelle generieren. Die Datenrasteransicht hat 4 Spalten. Column1: Vorname Spalte2: Nachname Column3: Geschlecht Column4: Land. Die Länderspalte ist eine Combobox-Spalte.Füllen der Combobox-Spalte in Datagridview aus der Datenquelle

Ich habe die Datenquelle entsprechend eingestellt und die Datenquelle zu dem Netz geschaffen. Die erste drei Spalte wird generiert, aber die Combo-Box wird nicht hinzugefügt. Hier ist der Beispielcode meiner app

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; 

Wenn ich die app ausführen, wird das Datagrid mit 3 Spalte zeigt, aber die Spalte Kombinationsfeld erzeugt nicht.

Bitte helfen Sie mir, das Problem zu finden.

Vielen Dank im Voraus.

Antwort

1

Dies ist, was für mich funktioniert:

// 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

Verwandte Themen