Skip to main content

Providing a Default Detail Configuration

The following example demonstrates how to provide a default detail configuration that will be applied to all details in a grid and any descendant details for which an explicit detail configuration has not been provided.

<Grid>
<Grid.Resources>
<xcdg:DataGridCollectionViewSource x:Key="cvs_employees"
Source="{Binding Source={x:Static Application.Current}, Path=Employees}" />

<xcdg:IndexToOddConverter x:Key="rowIndexConverter" />

<Style x:Key="alternatingDataRowStyle"
TargetType="{x:Type xcdg:DataRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},
Path=(xcdg:DataGridVirtualizingPanel.ItemIndex),
Converter={StaticResource rowIndexConverter}}"
Value="True">
<Setter Property="Background"
Value="AliceBlue" />
</DataTrigger>
</Style.Triggers>
</Style>

</Grid.Resources>
<xcdg:DataGridControl x:Name="EmployeesGrid"
ItemsSource="{Binding Source={StaticResource cvs_employees}}"
ItemsSourceName="Employee Information"
AutoCreateDetailConfigurations="True">
<xcdg:DataGridControl.DefaultDetailConfiguration>
<xcdg:DefaultDetailConfiguration UseDefaultHeadersFooters="False"
ItemContainerStyle="{StaticResource alternatingDataRowStyle}"
xcdg:TableView.ShowFixedColumnSplitter="False">
<xcdg:DefaultDetailConfiguration.DefaultGroupConfiguration>
<xcdg:GroupConfiguration InitiallyExpanded="False" />
</xcdg:DefaultDetailConfiguration.DefaultGroupConfiguration>
<xcdg:DefaultDetailConfiguration.Headers>
<DataTemplate>
<DockPanel>
<xcdg:HierarchicalGroupLevelIndicatorPane xcdg:GroupLevelIndicatorPane.ShowIndicators="False"
xcdg:TableView.CanScrollHorizontally="False"
DockPanel.Dock="Left" />
<ContentPresenter Content="{Binding RelativeSource={RelativeSource Self},
Path=(xcdg:DataGridControl.DataGridContext).SourceDetailConfiguration.Title}"
ContentTemplate="{Binding RelativeSource={RelativeSource Self},
Path=(xcdg:DataGridControl.DataGridContext).SourceDetailConfiguration.TitleTemplate}" />
</DockPanel>
</DataTemplate>
<DataTemplate>
<xcdg:ColumnManagerRow AllowColumnReorder="False"
AllowSort="False" />
</DataTemplate>
</xcdg:DefaultDetailConfiguration.Headers>
<xcdg:DefaultDetailConfiguration.Footers>
<DataTemplate>
<xcdg:InsertionRow Background="Cornsilk" />
</DataTemplate>
</xcdg:DefaultDetailConfiguration.Footers>
<xcdg:DefaultDetailConfiguration.DetailIndicatorStyle>
<Style TargetType="{x:Type xcdg:DetailIndicator}">
<Setter Property="Background"
Value="AliceBlue" />
</Style>
</xcdg:DefaultDetailConfiguration.DetailIndicatorStyle>
</xcdg:DefaultDetailConfiguration>
</xcdg:DataGridControl.DefaultDetailConfiguration>
</xcdg:DataGridControl>
</Grid>