Ich habe eine DataGridViewComboBox
zu einem gebundenen DataGridView
(grdBOOK
) hinzugefügt, ersetzt die DataGridViewComboBox
Spalte 3 für die Benutzerauswahl zu ermöglichen. Ich habe Mühe, den Standardwert von DataGridViewComboBox
gleich dem Wert von Spalte 3 zu setzen, so dass die Benutzerauswahl nicht erforderlich ist, wenn der Wert korrekt ist.Set DataGridViewComboBox Standard gleich vorhandenen DataGridView Spalte
zog ich den Code aus den net, aber ich erhalte eine Fehlermeldung:
DataGridViewComboBoxCell value is not valid.
Ich dachte, eine ComboBox
Zelle als normale DataGridView
Zelle behandelt werden kann, aber (siehe Code unten) wird ein Fehler erzeugt wenn ein String zur ComboBox
Spalte hinzugefügt wird? Ich habe das Netz und SO für ein paar Tage durchsucht, aber nichts funktioniert, irgendwelche Vorschläge bitte?
public void BOOK_COMBO2()
{
DataGridViewComboBoxCell cb_cell = new DataGridViewComboBoxCell();
DataGridViewComboBoxColumn cb_col = new DataGridViewComboBoxColumn();
// Contract field
cb_col.Items.AddRange("YEARLY", "MONTHLY", "");
cb_col.FlatStyle = FlatStyle.Flat;
cb_col.HeaderText = "newCONTRACT";
cb_col.Width = 50;
cb_col.ValueType = typeof(string);
// Add ComboBox and test
grdBOOK.Columns.Insert(5, cb_col);
grdBOOK.Rows[14].Cells[4].Value = "zzz"; // No error adding string to normal dgv column
grdBOOK.Rows[14].Cells[5].Value = "xxx"; // Error adding string to dgvcombobx column
//copy old values to new combobox and set as default
foreach (DataGridViewRow item in grdBOOK.Rows)
{
item.Cells[5].Value = item.Cells[3].Value;
}
//hide original column
grdBOOK.Columns[3].Visible = false;
}
Woher rufen Sie diese 'BOOK_COMBO2' Methode? – OhBeWise
Überprüfen Sie außerdem und wichtiger, dass die Werte in dieser Spalte immer eine Ihrer Optionen sind: '" JAHR "," MONATLICH "," ". Sie erhalten diesen Fehler, wenn ein Wert keiner davon ist; und ja, Groß- und Kleinschreibung - "Jährlich" und "" werden den Fehler auslösen. – OhBeWise
Ich rufe die Methode aus der Main-Klasse und die Datagridview wurde zur Entwurfszeit zum Hauptformular hinzugefügt. Ich bekomme keine Fehler mit der Liste der Elemente, der Fehler wird durch das Kopieren von Werten aus einer der datagridview-Spalten in die Spalte datagridviewcombobox verursacht. Diese Codezeile: '' item.Cells [5] .Value = item.Cells [3] .Value; "" – Zeus