Category / Section
How to conditionally set the format of a single cell in the WinForms GridGroupingControl?
1 min read
Conditional formatting
The formatting of a cell can be handled in the QueryCellStyleInfo event. The e.TableCellIdentity.MappingName and e.Style.CellValue properties can be used to check the particular column cell values.
C#
//Triggers event. this.gridGroupingControl1.QueryCellStyleInfo += new Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventHandler(this.gridGroupingControl1_QueryCellStyleInfo); private void gridGroupingControl1_QueryCellStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs e) { If(e.TableCellIdentity.TableCellType == GridTableCellType.RecordFieldCell || e.TableCellIdentity.TableCellType == GridTableCellType.AlternateRecordFieldCell) { // Checks for the column name when the cellvalue is greater than 5. if(e.TableCellIdentity.Column.MappingName == "Col1" && (int)e.Style.CellValue>5) { e.Style.BackColor=Color.LightBlue; e.Style.Format="##.00"; } } }
VB
'Triggers event. Private Me.gridGroupingControl1.QueryCellStyleInfo += New Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventHandler(AddressOf Me.gridGroupingControl1_QueryCellStyleInfo) Private Sub gridGroupingControl1_QueryCellStyleInfo(ByVal sender As Object, ByVal e As Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs) If(e.TableCellIdentity.TableCellType = GridTableCellType.RecordFieldCell OrElse e.TableCellIdentity.TableCellType = GridTableCellType.AlternateRecordFieldCell) 'Checks for the column name when the cellvalue is greater than 5. If e.TableCellIdentity.Column.MappingName = "Col1" AndAlso CInt(Fix(e.Style.CellValue))>5 Then e.Style.BackColor=Color.LightBlue e.Style.Format="##.00" End If End Sub
Figure 1: Conditional format applied to each cell in column “Col1”
Samples: