Datagridview-Spalte, die null nicht zulässt
Ich habe ein datagridview an eine datasource, Spalte[0] AgencyName ist ein Primärschlüssel und kann nicht null sein.
Klick auf den Bindingnavigator ( + ) plus-Zeichen zum hinzufügen einer neuen Zeile (zweimal) führt zu Fehler "Spalte (AgencyName), null nicht zulässt". Wie man diesem null-Ausnahme?
Insgesamt können Sie mir zeigen, wie das behandeln von null-und primary key-Einschränkung in einer datagridview gebunden an eine datasource. Beachten Sie, dass ich nur gezogen, eine Datenquelle in einer winform diese zu erstellen.
Habe ich diesen code
private void clientsDataGridView_Validating(object sender, CancelEventArgs e)
{
DataGridViewRow row = clientsDataGridView.CurrentRow as DataGridViewRow;
if (row.Cells[0].Value == DBNull.Value)
{
clientsDataGridView.CancelEdit();
e.Cancel = true;
}
}
dieser code wird nicht lassen Sie mich navigieren durch die anderen Datensätze, es sei denn, ich geben Sie einen gültigen Wert. Ich will die neue Zeile (mit falschen Daten) werden Abbrechen, Wann immer ich bewege mich zu den anderen Reihen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Kontrolle.Überprüfen Beschreibung der Veranstaltung (die DataGridView-Eigenschaft erbt von):
Wenn die Cancel-Eigenschaft des CancelEventArgs auf true gesetzt ist in der Validating-Ereignis delegieren, alle Ereignisse, hätte in der Regel auftreten, nachdem das Validating-Ereignis unterdrückt werden.
Also durch Einstellung e.Cancel = true das sagst du DataGridView zu Abbrechen, alle folgenden Ereignisse (einschließlich RowLeave).
Verwendest du eine Bindingsource und Bindung "Datagridview", um es? Wenn dem so ist, würde ich versuchen, Aufruf von Bindingsource.CancelEdit() anstelle von Datagridview.CancelEdit().
Oder vielleicht: