117553
Jun 22, 2016
1334
4
0
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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 307892
Url: https://administrator.de/contentid/307892
Printed on: April 19, 2024 at 19:04 o'clock
4 Comments
Latest comment
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 ...."?
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