Ich habe ein Datagridview an eine Binding binded und innerhalb dieser Liste I Comboboxen auf eine Liste binded haben, die eine Eigenschaft meiner Binding ist, für das Verständnis besser:ComboBoxCell Wert ist nicht gültig
ListA ---> binded zu Datagridview
ListA.ListB ---> binded
zu Comboboxen wenn ich die Form öffne ich meine corectly Comboboxen zeigt die Werte innerhalb des ListB einstellen können, aber wenn ich hinzufügen, einen neuen Artikel, den ich bekommen ein Fehler (Wert ist nicht gültig), hier ist t er Code:
private void dataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
((DataGridViewComboBoxColumn)dataGridView.Columns["Names"]).DisplayIndex = 4;
for (int i = 0; i < People.Count; i++)
{
var cell = (DataGridViewComboBoxCell)dataGridView.Rows[i].Cells["Names"];
cell.DataSource = People[i].Names;
cell.Value = People[i].Names[0];
}
}
Der obige Code funktioniert gut, geschieht das Problem hier:
private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (dataGridView.CurrentCell.ColumnIndex != dataGridView.Columns["Names"].Index)
return;
var cell = (DataGridViewComboBoxCell)dataGridViewICAO.CurrentCell;
if (cell.EditedFormattedValue.ToString().Equals(String.Empty)) return;
var regex = new Regex("[a-zA-Z]");
if (!regex.IsMatch(cell.EditedFormattedValue.ToString()))
e.Cancel = true;
else
{
People[cell.RowIndex].Names.Add(cell.EditedFormattedValue.ToString());
cell.Value = People[cell.RowIndex].Names.Last();
People[cell.RowIndex].Names = cell.Value.ToString();
}
}
auf der Zeilencode cell.Value = People[cell.RowIndex].Names.Last();
Ich bekomme die Ausnahme ... Dank an alle! Diese
was ist die Ausnahme? – barakcaf
System.ArgumentException: DataGridViewComboBoxCell-Wert ist nicht gültig – Chrix1387
Fügen Sie die Details, die Sie in den Kommentar eingefügt haben, hinzu und antworten Sie auf Ihre Frage, indem Sie sie bearbeiten: http://stackoverflow.com/posts/36334193/edit – TheLethalCoder