Articles in this section
Category / Section

How to hide the ChildTable that does not have any record to show up in the WinForms GridGroupingControl?

1 min read

Hide the child table

The QueryCellStyleInfo event of the GridGroupingControl can be handled to hide the ChildTable that does not have any record to show up. The idea is to change the CellType of the RecordPlusMinusCell to static, so that the plus or minus button disappears, and you cannot expand the empty ChildTable.

C#

private void gridGroupingControl1_QueryCellStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs e)
{
   if(e.TableCellIdentity.TableCellType == GridTableCellType.RecordPlusMinusCell)
   {
      Record r = e.TableCellIdentity.DisplayElement.ParentRecord as Record;
      if(r != null && r.NestedTables.Count > 0 && r.NestedTables[0].ChildTable.FilteredChildNodeCount == 0)
      {
         e.Style.CellType = "Static";
      }
   }
}

VB

Private Sub gridGroupingControl1_QueryCellStyleInfo(ByVal sender As Object, ByVal e As Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs)
    If e.TableCellIdentity.TableCellType = GridTableCellType.RecordPlusMinusCell Then
        Dim r As Record = TryCast(e.TableCellIdentity.DisplayElement.ParentRecord, Record)
        If r IsNot Nothing AndAlso r.NestedTables.Count > 0 AndAlso r.NestedTables(0).ChildTable.FilteredChildNodeCount = 0 Then
            e.Style.CellType = "Static"
        End If
    End If
End Sub

After applying the properties, the grid looks like the following screenshot.

Child tables hidden when there is no record

Figure 1: Child tables hidden when there is no record

Samples:

C#: Hiding_childtable

VB: Hiding_childtable

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied