Category / Section
How to highlight the expanded records which are all having the nested table in WinForms GridGroupingControl?
1 min read
Highlight the expanded records
In order to highlight the expanded records which are all having the nested table, the QueryCellStyleInfo event can be used. Records expansion state can be getting by IsExpanded property and HasNestedTables property used to determine if record has nested tables.
C#
//Triggering the event this.groupingGrid1.QueryCellStyleInfo += GroupingGrid1_QueryCellStyleInfo; //Event customization. private void GroupingGrid1_QueryCellStyleInfo(object sender, GridTableCellStyleInfoEventArgs e) { if (e.TableCellIdentity != null) { Record record = e.TableCellIdentity.DisplayElement.GetRecord(); if (record != null && record.IsExpanded && record.HasNestedTables && (e.Style.TableCellIdentity.TableCellType == GridTableCellType.RecordFieldCell || e.Style.TableCellIdentity.TableCellType == GridTableCellType.AlternateRecordFieldCell)) { e.Style.BackColor = Color.LightBlue; e.Style.TextColor = Color.White; } } }
VB
'Triggering the event AddHandler Me.groupingGrid1.QueryCellStyleInfo, AddressOf GroupingGrid1_QueryCellStyleInfo 'Event customization. Private Sub GroupingGrid1_QueryCellStyleInfo(ByVal sender As Object, ByVal e As GridTableCellStyleInfoEventArgs) If e.TableCellIdentity IsNot Nothing Then Dim record As Record = e.TableCellIdentity.DisplayElement.GetRecord() If record IsNot Nothing AndAlso record.IsExpanded AndAlso record.HasNestedTables AndAlso (e.Style.TableCellIdentity.TableCellType = GridTableCellType.RecordFieldCell OrElse e.Style.TableCellIdentity.TableCellType = GridTableCellType.AlternateRecordFieldCell) Then e.Style.BackColor = Color.LightBlue e.Style.TextColor = Color.White End If End If End Sub
Screenshot
Samples: