Category / Section
How to highlight the current row including the current cell in WinForms GridControl?
1 min read
Highlights the selected row
This can be done by handling the PrepareViewStyleInfo event and by changing the text color and the backcolor of the selected ranges of cells.
C#
void gridControl1_PrepareViewStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.GridPrepareViewStyleInfoEventArgs e) { GridControlBase grid = gridControl1; GridCurrentCell cc = gridControl1.CurrentCell; // Highlight the current row with SystemColors.Highlight and bold font if(e.RowIndex > grid.Model.Rows.HeaderCount && e.ColIndex > grid.Model.Cols.HeaderCount && cc.HasCurrentCellAt(e.RowIndex)) { e.Style.Interior = new BrushInfo(SystemColors.Highlight); e.Style.TextColor = SystemColors.HighlightText; e.Style.Font.Bold = true; } }
VB
Private Sub gridControl1_PrepareViewStyleInfo(ByVal sender As Object, ByVal e As Syncfusion.Windows.Forms.Grid.GridPrepareViewStyleInfoEventArgs) Dim grid As GridControlBase = gridControl1 Dim cc As GridCurrentCell = gridControl1.CurrentCell ' Highlight the current row with SystemColors.Highlight and bold font If e.RowIndex > grid.Model.Rows.HeaderCount AndAlso e.ColIndex > grid.Model.Cols.HeaderCount AndAlso cc.HasCurrentCellAt(e.RowIndex) Then e.Style.Interior = New BrushInfo(SystemColors.Highlight) e.Style.TextColor = SystemColors.HighlightText e.Style.Font.Bold = True End If End Sub
After applying the properties, the grid is shown as follows.
Figure 1: Highlighted the current row including current cell
Samples:
C#: HighLightRow
VB: HighLightRow