Ich arbeite mit DataGridView und es gibt ein Szenario, das ich zentriert ausrichten Text in ausgewählten Spalten anzeigen muss, habe ich gesetzt, Header Center Align Text aber mit Zeilenzelle und Bedingungen, Ich kann nicht herausfinden, wie?Center Align Zelle Text in Vb.Net DataGridView
Angenommen, ich habe 4 Reihen mit 3 Spalten, ID ,Name,Type
, auf der Basis der Type
Spalte Ich möchte, dass meine Daten zeigen, wie unten Bild gegeben,
In CellFormattingEvent ich es geschafft haben, anderes Farbschema einzustellen.
Private Sub grdDetailsNew_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles grdFruitDetailsNew.CellFormatting
Try
If e.RowIndex > -1 Then
If grdDetailsNew.Rows.Count > 0 Then
If grdDetailsNew.Rows(e.RowIndex).Cells("Type").Value = 1 Then
e.CellStyle.BackColor = Color.FromArgb(253, 192, 97)
e.CellStyle.Font = New Font(e.CellStyle.Font.FontFamily, 17, FontStyle.Regular)
ElseIf grdDetailsNew.Rows(e.RowIndex).Cells("Type").Value = 2 Then
e.CellStyle.BackColor = Color.FromArgb(255, 249, 237)
e.CellStyle.Font = New Font(e.CellStyle.Font.FontFamily, 16, FontStyle.Regular)
Else
e.CellStyle.BackColor = Color.FromArgb(255, 255, 255)
e.CellStyle.Font = New Font(e.CellStyle.Font.FontFamily, 15, FontStyle.Regular)
End If
End If
End If
Catch ex As Exception
WriteToLog(ex)
End Try
End Sub
Private Sub grdDetailsNew_CellPainting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles grdFruitDetailsNew.CellPainting
Try
If e.RowIndex > -1 AndAlso e.ColumnIndex > -1 Then
If e.ColumnIndex = 2 AndAlso grdDetailsNew.Rows(e.RowIndex).Cells("Type").Value = 1 Then
e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End If
End If
Catch ex As Exception
End Try
End Sub
Nein, nicht die volle Reihe, sondern eine bestimmte Spalte auf bestimmte Bedingung – DareDevil
ich ein Beispiel hinzugefügt haben, die für den Reihen-Feld aussieht und formatiert die erste Spalte, wenn beide = 1 – FloatingKiwi
es eigentlich scheint, dass Sie den richtigen Code in Ihrem Paint-Ereignis haben. Versuchen Sie stattdessen, es in den Zellformatierungshandler zu verschieben. – FloatingKiwi