Hallo Zusammen,
Habe frisch mit C# 2008 Express angefangen und möchte bei einem TestDataset eine Validation einbauen:
public override void EndInit()
{
base.EndInit();
ColumnChanging += CodesColumnChangingEvent;
}
public void CodesColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
{
if (e.Column.ColumnName == CODTYPColumn.ColumnName)
{
//if ((string)e.ProposedValue == „“)
if ((string)e.ProposedValue == „HELLO“)
//if (IsDBNull(e.ProposedValue))
{
e.Row.SetColumnError(„CODTYP“, „Typ darf nicht leer sein“);
}
else
{
e.Row.SetColumnError(„CODTYP“, „“);
}
}
}
Diese Routine funktioniert, wenn ich in meinem Datagrid den Wert „HELLO“ eingebe, dann wird der Fehler prima gemeldet.
Was ich aber nicht schaffe, ist dieses String-Feld auf NULL zu
testen: der Fehler wird weder mit =="" gebracht, noch mit IsDBNull o.ä). (vgl. auskommentierte Zeilen.
Ich weiss, dass ich NULL-Werte in der DB abfangen kann, es geht mir hier nur um ein Beispiel.
Also Frage: Wie muss ich die If-Zeile formulieren, das bei NULL der Fehler gemeldet wird?
Hat ev. jemand einen gescheiten Link zur Hand, wo genau solche Details beschrieben sind? Ich finde irgendwie nix schlaues auf MSDN.
Vielen Dank für Eure Hilfe!
Gruss
t.rex