DataGridView NoNullAllowedException

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Mayk.

    DataGridView NoNullAllowedException

    Hallo Leute,

    ich habe ein Strongly Named DataSet. Die String-Felder der Tabelle sind auf AllowDBNull = False und DefaultValue = String.Empty gesetzt.
    Zum Testen sind in einer Form BindingSouce und DataGridView vorhanden. Die Form Designer Parameter sind unverändert.

    Wenn ich im DataGridView den Inhalt einer Zelle mit Taste Delete lösche, erhalte ich eine NonNullAllowedException.
    Meine Frage: Warum wird vom DataGrid ein DBNull-Wert anstatt ein String-Empty erzeugt?
    Wie und wo kann ich den Wert korrigieren?

    Danke für Eure Rückmeldung.
    Hallo ErfinderDesRades,

    vielen Dank für die schnelle Antwort. Vorab: Es hat funktioniert.
    ​Ich hatte mit dieser Eigenschaft schon experimentiert. Normalerweise dient diese ja nur dazu, um "Default"-Werte darzustellen für Inhalte die DBNull sind. Bei DefaultCellStyle.NullValue​ = "" oder = String.Empty tritt der besagte Fehler jedoch auf. Warum das so ist kann ich nicht nachvollziehen. Deshalb kam ich nicht weiter.
    Wenn jedoch irgendetwas, wie "123", angegeben wird, wird kein Fehler ausgelöst.
    Zum Glück wird dieser Wert nicht angezeigt. Beim Löschen bleibt die Zelle leer :), beim Hinzufügen eines neuen Eintrags wird durch die Einstellung DefaultValue = String.Empty ja vermieden, dass DBNull vorbelegt wird.

    Vielen Dank nochmals - case closed