Databinding DatagridviewComboboxColumn mit enum

Ich habe eine datagridview, die aufgefüllt wird durch das abrufen von Daten aus SQL server.

gridview.Datasource = dataSet.Tables[0] 

-> Kein problem.

In diesem Gitter , eine Spalte ist eine ComboboxColumn...

Für die Füllung (ich meine, zum binden einer datasource nur dieses eine , kein problem :

cmb.DataSource = Enum.GetValues(typeof(MyEnum));
cmb.ValueType = typeof(MyEnum);
cmb.DataPropertyName = "MyEnum";

Ich würde gerne wissen, wie man Daten binden die datagridviewcomboboxcolumn (der Wert in der DB für diese Spalte ist der index des ausgewählten Wertes für den in dieser combobox. und die datasource dieser combobox ist ein Enum).

Wert in DB : 2 -> was ist der index des Elements, um anzuzeigen,

Kann ich präzise die Spalte DB-Namen irgendwo ? Wenn ich das Tue, in der datapropertyname bekomme ich die Fehlermeldung:- > DataGridViewComboboxCell Wert ist nicht gültig ...

Vielen Dank im Voraus !

edit : problem "gelöst". Ich Ersetze das Enum mit einer datatable. viel einfacher ist.

  • was genau brauchen Sie?...das datagrid wird an eine Tabelle und fügen Sie ein ungebundenes Kombinationsfeld Spalte Zuordnung zu einem enum.Nach diesem, was Sie brauchen,zum Beispiel ausgewählten Elements im combobox anzeigen auf einen Wert in einer der Spalten?
  • Ich habe ein raster, das an ein dataset gebunden ist.
  • ja ,Sie sind right.by zu wissen, das Netz ist bereits an ein dataset gebunden... ich muss nur wissen, wie zu binden, die datagridviewcomboboxcolumn (der Wert in DB ist der index von der combobox. und die datasource der combobox ist eine Enumeration).
  • ahhh, ich glaube, ich bekam Sie Recht,Sie haben in einer Spalte einige Werte und die ungebundenen datagridviewcomboboxcolumn Sie wollen, dass der ausgewählte Wert in jeder combobox-Komponente gleich dem Wert der Zeilen-Spalte aus der Datenbank-Recht? zum Beispiel stellen Sie sich Ihr Datenbank-Spalte mit dem Namen "test",in rowindex 2 Spalte["test"] den Wert 2 und in derselben Zeile aber in der combobox-Spalte der Wert angezeigt werden, der index 2 der Elemente es?....lassen Sie mich wissen, wenn es so ist ich einige option.
  • ja , das ist es, was ich brauche 🙂
Schreibe einen Kommentar