117553
Goto Top

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

Content-Key: 307892

Url: https://administrator.de/contentid/307892

Printed on: April 19, 2024 at 19:04 o'clock

Member: emeriks
emeriks Jun 22, 2016 at 14:42:56 (UTC)
Goto Top
Hi,
  If Not IsDBNull(....Value) Then
     ....
  end if

E.
Mitglied: 117553
117553 Jun 22, 2016 at 16:52:44 (UTC)
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 !
Member: emeriks
Solution emeriks Jun 22, 2016 at 16:59:30 (UTC)
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
Mitglied: 117553
117553 Jun 22, 2016 at 17:08:31 (UTC)
Goto Top
tatsächlich.... das war der Fehler!

Danke Danke Danke!!!!