2010-11-30 4 views
1


ich verwende Rasteransicht in vb.net.
hier ist der Code ...Wie überprüft man, ob der Zellenwert nichts ist oder nicht in vb.net?

If Not DataGridView1.SelectedRows.Count = 0 Then 
       i = DataGridView1.SelectedRows(0).Index 
       If DataGridView1.Rows(i).Cells(0).Value <> Nothing Then 
        namebox.Text = Trim(DataGridView1.Rows(i).Cells(0).Value) 
        salarybox.Text = DataGridView1.Rows(i).Cells(1).Value 
       End If 
End If 

jetzt, wenn die Zelle nichts drin hat, dann wird es die Ausnahme zeigen ....
so ...

Operator '<>' is not defined for type 'DBNull' and 'Nothing'. 

dieser Code Wird aufgerufen, wenn die ausgewählte Zelle geändert wird.
Ich versuche, die Werte der ausgewählten Zelle zu erhalten und in ein Textfeld einzutragen.

Antwort

3

Sie wollen nicht den <> Operator verwenden, sollten Sie uns value IsNot Nothing zu überprüfen, ob es IsNot Nothing oder umgekehrt Is NothingIs Nothing wenn ein Wert zu überprüfen.

Auch der Grund ist, dass es keinen Vergleich für die DBNull und Nothing Typen gibt, wenn dies der Fall ist, müssen Sie überprüfen, um für beide zu sehen. So etwas wie

If value IsNot Nothing AndAlso value <> DBNull.Value Then 

    ''#Do something 

End If 
2

ändern

If DataGridView1.Rows(i).Cells(0).Value <> Nothing Then 

zu

If Not DataGridView1.Rows(i).Cells(0).Value Is DBNull.Value Then 
+0

dank DaMartyr .... – Nitz

Verwandte Themen