How to Display Item/Not Display Caption in WinForms GridGroupingControl?
Captionsection
When a group
has only one item, you can create a Custom Grouping Engine and override
the IsChildVisible property to display the single-item group
without a caption.
In the override, you have to check whether the passed-in element is a CaptionSection, and then check its record count, to decide whether it returns True or False, indicating whether the caption is to be displayed or not.
To make sure that the single record CaptionSection is always displayed as expanded, you can add a check to the IsChildVisible override when the passed-in element is a DetailsSection.
C#
public override bool IsChildVisible(Element el)
{
if (el is CaptionSection)
{
if (this.Details == null || this.Records.Count == 0 || this.Records.Count > 1)
return true;
else
return false;
}
else if (el is DetailsSection)
{
if (this.Details == null || this.Records.Count == 0 || this.Records.Count > 1)
return el.ParentGroup.IsExpanded;
else
return true;
}
else
return el.ParentGroup.IsExpanded;
}Public Overrides Function IsChildVisible(ByVal el As Element) As Boolean
If TypeOf el Is CaptionSection Then
If Me.Details Is Nothing OrElse Me.Records.Count = 0 OrElse Me.Records.Count > 1 Then
Return True
Else
Return False
End If
ElseIf TypeOf el Is DetailsSection Then
If Me.Details Is Nothing OrElse Me.Records.Count = 0 OrElse Me.Records.Count > 1 Then
Return el.ParentGroup.IsExpanded
Else
Return True
End If
Else
Return el.ParentGroup.IsExpanded
End If
End Function