Retrieving a parent group
The following example demonstrates how to retrieve the parent group of the current item using the GetParentGroupFromItem method so that it can be collapsed. The implementation for the CollapseCurrentGroup method is provided below.
- XAML
- C#
- VB.NET
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
<Grid.Resources>
<xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
Source="{Binding Source={x:Static Application.Current},
Path=Orders}">
<xcdg:DataGridCollectionViewSource.GroupDescriptions>
<xcdg:DataGridGroupDescription PropertyName="ShipCountry"/>
<xcdg:DataGridGroupDescription PropertyName="ShipCity"/>
</xcdg:DataGridCollectionViewSource.GroupDescriptions>
</xcdg:DataGridCollectionViewSource>
</Grid.Resources>
<DockPanel>
<Button Content="Collapse Group"
Click="CollapseCurrentGroup"
DockPanel.Dock="Top"/>
<xcdg:DataGridControl x:Name="OrdersGrid"
ItemsSource="{Binding Source={StaticResource cvs_orders}}"
DockPanel.Dock="Bottom"/>
</DockPanel>
</Grid>
private void CollapseCurrentGroup( object sender, RoutedEventArgs e )
{
DataGridContext context = this.OrdersGrid.CurrentContext;
CollectionViewGroup group = context.GetParentGroupFromItem( context.CurrentItem );
context.CollapseGroup( group );
}
Private Sub CollapseCurrentGroup( ByVal sender As Object, ByVal e As RoutedEventArgs )
Dim context As DataGridContext = Me.OrdersGrid.CurrentContext
Dim group As CollectionViewGroup = context.GetParentGroupFromItem( context.CurrentItem )
context.CollapseGroup( group )
End Sub