Hi,
ich lese über ein DataTable ein Tabelle ein
. Sowei so gut.
Nun möchte ich aber den TabellenInhalt je nach Bedingung rot einfärben (Inhalt < 0).
Mit
wird die gesammte Spalte eingefärbt. Ich will jedoch nur jene Zellen, die ein Minus vor der Zahl haben, rot einfärben.
Die Spalte gibt einen Float-Wert wider.
Wie löse ich dieses Problem?
Vorerst schon danke.
Folgende Lösung:
Aufruf:
Gefunden in einem Buch von Doberenz.
Grüße
ich lese über ein DataTable ein Tabelle ein
Code:
Me.DGV1.Columns("wert").DefaultCellStyle.Format = "F2"
Me.DGV1.Columns("wert").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
Nun möchte ich aber den TabellenInhalt je nach Bedingung rot einfärben (Inhalt < 0).
Mit
Code:
Me.DGV1.Columns("wert").DefaultCellStyle.ForeColor = Color.Red
Die Spalte gibt einen Float-Wert wider.
Wie löse ich dieses Problem?
Vorerst schon danke.
Folgende Lösung:
Aufruf:
Code:
AddHandler DGV1.CellFormatting, New DataGridViewCellFormattingEventHandler(AddressOf DGV1_CellFormatting)
Code:
Private Sub DGV1_CellFormatting(ByVal sender As Object, _
ByVal e As DataGridViewCellFormattingEventArgs)
If DGV1.Columns(e.ColumnIndex).Name = "wert" Then
If e.RowIndex < DGV1.Rows.Count Then
'suchwert gefunden
If e.Value.ToString.IndexOf(Me.TextBox1.Text) >= 0 Then
e.CellStyle.ForeColor = Color.Black
Else
e.CellStyle.ForeColor = Color.Red
End If
End If
End If
End Sub
Grüße
Zuletzt bearbeitet: