Fehler: "DataGridViewComboBoxCell Wert ist nicht gültig." DataSource ist die Liste der basic-Typ
Konnte ich nicht finden, eine Frage auf, SO dass genau abgestimmt mein problem.
Ähnlich diese Frage und diese Frage, ich werde die DataSource
auf eine DataGridViewComboBoxColumn
um eine Liste von Dingen. In meinem Fall die Dinge, die sind einfach Typen wie Double-und int-Werte, also die Antworten sprechen ValueMembers und DisplayMembers nicht tun mir sehr gut. Wenn der Benutzer einen Wert auswählt, bekomme ich die gefürchtete "DataGridViewComboBoxCell Wert ist ungültig" Fehler.
Konnte ich schlucken Sie die Fehler mit einem leeren dataGridView_DataError handler, aber das ist offensichtlich ein schlechter Weg zu gehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Antwort hier. Es ist auch erwähnt in diese Antwort auf den zweiten link in meiner Frage. Bei der Einstellung der
DataSource
um eine Liste der alles, was nicht einen string, eingestellt dieValueType
der Spaltetypeof(<your data type>)
kvCol.ValueType = typeof(double);
DankDies ist pingelig über sub-Typen. Ich habe immer noch die Fehlermeldung, wenn das ValueType war Int, aber die DataSource einen SQLServer SMALLINT (was ein Visual Studio 2010 Schnell-Uhr die auf die DataSource, sagte war ein Int32 !). Ändern der DB-Spalte von SMALLINT -> INT fixed it for me.
Das problem für mich war, dass der Wert meiner datasource war Rückkehr war nicht in der combobox.... meine combo hatte mit dem Wert 1, 2 und 3... aber die datasource wollte 4.