117553

DBNull Fehler im Datagridview

Hallo zusammen,

seit Wochen schlag ich mich mit einem Problem herum, ich hoff einer von euch ist so lieb und hilft mir...

folgender code unten "läuft immer auf siehe Bild"


sämtliches versuchucht (isNothing, <> " ", etc...) immer das selbe ergebnis



Private Sub DatenbankDataGridView_CellPainting(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
Handles DatenbankDataGridView.CellPainting


Dim TestZeile As Integer = 0 ' <--- Anpassen
Dim TestSpalte As Integer = 9 ' <--- Anpassen
Dim dgvc_Stil As New DataGridViewCellStyle()
Dim CellWert As Object
Dim CellFarbe As Color
dgvc_Stil = DatenbankDataGridView.Rows(TestZeile).Cells(TestSpalte).Style ' Stil merken
CellFarbe = dgvc_Stil.BackColor ' Farbe merken
CellWert = DatenbankDataGridView.Rows(TestZeile).Cells(TestSpalte).Value


For I As Integer = 0 To DatenbankDataGridView.Rows.Count - 1
CellWert = DatenbankDataGridView.Rows(I).Cells(TestSpalte).Value

If Not TypeOf (DatenbankDataGridView.Rows(TestZeile).Cells(TestSpalte).Value) Is System.DBNull Then

Select Case CellWert
Case "1"
CellFarbe = Color.Green
Case "3"
CellFarbe = Color.Orange
Case "PS"
CellFarbe = Color.Red


End Select
DatenbankDataGridView.Rows(I).Cells(TestSpalte).Style.BackColor = CellFarbe

End If
Next
fehler
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 307892

Url: https://administrator.de/forum/dbnull-fehler-im-datagridview-307892.html

Ausgedruckt am: 19.05.2025 um 16:05 Uhr

emeriks
emeriks 22.06.2016 um 16:42:56 Uhr
Goto Top
Hi,
  If Not IsDBNull(....Value) Then
     ....
  end if

E.
117553
117553 22.06.2016 um 18:52:44 Uhr
Goto Top
Leider auch hier der selbe Fehler ... Hab auch in der Deklaration nichts drin kein Option explizit und nichts.... Komm einfach nicht dahinter face-sad aber Dankeschön !
emeriks
Lösung emeriks 22.06.2016 um 18:59:30 Uhr
Goto Top
In welcher Zeile kommt denn der Fehler genau?
Klick mal auf "...in Zwischenablage kopieren" und füge das in Notepad ein. Dort wird Dir genau die Zeile genannt.

Könnte der Fehler hier sein?
Zeile 2 fragt "Rows(I)" ab.
Die If-Abfrage in Zeile wertet jedoch "Rows(TestZeile)" aus.
Warum fragst Du in Zeile 3 nicht "If not IsDBNull(CellWert ) Then ...."?

For I As Integer = 0 To DatenbankDataGridView.Rows.Count - 1
  CellWert = DatenbankDataGridView.Rows(I).Cells(TestSpalte).Value
  If Not TypeOf (DatenbankDataGridView.Rows(TestZeile).Cells(TestSpalte).Value) Is System.DBNull Then
    Select Case CellWert
      Case "1"  
        CellFarbe = Color.Green
      Case "3"  
        CellFarbe = Color.Orange
      Case "PS"  
        CellFarbe = Color.Red
    End Select
    DatenbankDataGridView.Rows(I).Cells(TestSpalte).Style.BackColor = CellFarbe
  End If
Next
117553
117553 22.06.2016 um 19:08:31 Uhr
Goto Top
tatsächlich.... das war der Fehler!

Danke Danke Danke!!!!