Xceed.Silverlight.DataGrid.v2.0 Assembly > Xceed.Silverlight.DataGrid Namespace > DataGridGroupConfiguration Class : FixedFooters Property |
'Declaration Public ReadOnly Property FixedFooters As ObservableCollection(Of DataTemplate)
'Usage Dim instance As DataGridGroupConfiguration Dim value As ObservableCollection(Of DataTemplate) value = instance.FixedFooters
public ObservableCollection<DataTemplate> FixedFooters {get;}
A generic ObservableCollection of DataTemplates that represent the items that are located in the fixed footer sections of the groups to which the configuration is applied.
Elements contained in the fixed footer section of a group will remain visible when the containing group is collapsed.
All items added to a header or footer section must be provided as a DataTemplate.
The GroupContext attached property will only be set on the first (i.e., root) element in the DataTemplate and can be accessed through a RelativeSource binding using the Self mode (see example below). Any child elements in the template can access the parent's GroupContext through an ElementName binding. For example:
<TextBlock Text="{Binding ElementName=parentPanel,
Path=(sldg:DataGridControl.GroupContext).GroupValue}" />
<sldg:DataGridControl x:Name="sldgDataGridControl" ItemsSource="{Binding Path=Orders}"> <sldg:DataGridControl.GroupDescriptions> <sldg:DataGridGroupDescription PropertyName="Age"> <sldg:DataGridGroupDescription.GroupConfiguration> <sldg:DataGridGroupConfiguration> <sldg:DataGridGroupConfiguration.FixedFooters> <DataTemplate> <Button Content="Select Items in Group" Click="SelectGroupItems_Click" Tag="{Binding RelativeSource={RelativeSource Self}, Path=(sldg:DataGridControl.GroupContext)}" /> </DataTemplate> </sldg:DataGridGroupConfiguration.FixedFooters> </sldg:DataGridGroupConfiguration> </sldg:DataGridGroupDescription.GroupConfiguration> </sldg:DataGridGroupDescription> </sldg:DataGridControl.GroupDescriptions> </sldg:DataGridControl>
Private Sub SelectGroupItems_Click( ByVal sender As Object, ByVal e As RoutedEventArgs ) Dim context As GroupContext = CType( CType( sender, Button ).Tag, GroupContext ) If Not context Is Nothing Then Dim propertyName As String = CType( context.GroupDescription, DataGridGroupDescription ).PropertyName Dim range As New SelectionRange( New SortDescription() { New SortDescription( propertyName, ListSortDirection.Ascending ) }, Nothing, Nothing ) range.StartRangeInfos.Add( propertyName, context.GroupValue ) range.EndRangeInfos.Add( propertyName, context.GroupValue ) Me.sldgDataGridControl.SelectedRanges.Clear() Me.sldgDataGridControl.SelectedRanges.Add( range ) End If End Sub
private void SelectGroupItems_Click( object sender, RoutedEventArgs e ) { GroupContext context = ( ( Button )sender ).Tag as GroupContext; if( context != null ) { string propertyName = ( ( DataGridGroupDescription )context.GroupDescription ).PropertyName; SelectionRange range = new SelectionRange( new SortDescription[] { new SortDescription( propertyName, ListSortDirection.Ascending ) }, null, null ); range.StartRangeInfos.Add( propertyName, context.GroupValue ); range.EndRangeInfos.Add( propertyName, context.GroupValue ); this.sldgDataGridControl.SelectedRanges.Clear(); this.sldgDataGridControl.SelectedRanges.Add( range ); } }
Target Platforms: Windows 7, Windows Vista, Windows XP SP3, Windows Server 2008 family