beim verlassen der zelle auf dbnull prüfen

  • VB.NET

Es gibt 45 Antworten in diesem Thema. Der letzte Beitrag () ist von sonne75.

    Halt mal, ich hab hier ein dgv DataError Ereignis:

    VB.NET-Quellcode

    1. Private Sub Grid_DataError(ByVal sender As Object, ByVal e As DataGridViewDataErrorEventArgs) Handles
    2. Dim grd = DirectCast(sender, DataGridView)
    3. Select Case MessageBox.Show("Error: " & e.Exception.Message & vbNewLine & "Do you want to cancel", "Attention", MessageBoxButtons.YesNo)
    4. Case Windows.Forms.DialogResult.No : e.Cancel = True
    5. Case Windows.Forms.DialogResult.Yes : grd.CancelEdit()
    6. End Select
    7. End Sub


    Wenn ich zB Buchstaben eingebe schmeisst es diese. Nur wenn ich das Feld leere meckerrt er nicht???
    Kann es daran liegen?

    Leider nicht, habs gerade ausgeklammert, gleiches Resultat.

    Probier jetzt mal Sonne75s Idee

    @Sonne75: Feld lässt keine Änderungen zu: "Ungültiger Eigenschaftswert" "Der eingegebene Wert ist für den aktuellen Datentyp ungültig."
    Bei mir klappt die Umstellung von (Throw Exception) auf die anderen vorgegebenen Werte, allerdings nicht bei allen Spalten. Hast du es bei Spalte N ausprobiert, oder einer anderen? Ich konnte bei einem Fremdschlüssel nicht umstellen, bei einer normalen Spalte schon.

    TS71M schrieb:

    Wenn ich zB Buchstaben eingebe schmeisst es diese. Nur wenn ich das Feld leere meckerrt er nicht???
    Das ist eben das wundersame: dieses DataError-Event müsste gefeuert werden, sowohl bei Buchstaben als auch beim Löschen des Eintrags. Und scheints wirds beim Löschen nicht gefeuert, und deshalb hab ich Schwierigkeiten zu glauben, dass deine DataColumn richtig konfiguriert ist - weil ich habs grad nochmal probiert.

    Wie die msgbox zeigt, habe ich das Event erstmal weggelassen - empfehle ich dir auch fürn Test.
    Weiters zeigt das bild, dass bei Anzeige der MsgBox die Fehleingabe bereits wieder zurückgesetzt ist auf '0'




    @sonne75:: NullValue kann man nur für String-Spalten einstellen. Sinn ist, dass du einstellen kannst, wenn der User "<nix>" hinschreibt, dass das Dbnull bedeutet. So wird ermöglicht, dass "" eine gültige String-Eingabe ist.
    Hat mittm Prob hier nix zu tun.