Xceed.Silverlight.DataGrid.v2.0 Assembly > Xceed.Silverlight.DataGrid Namespace > DataGridGroupConfiguration Class : Footers Property |
'Declaration Public ReadOnly Property Footers As ObservableCollection(Of DataTemplate)
'Usage Dim instance As DataGridGroupConfiguration Dim value As ObservableCollection(Of DataTemplate) value = instance.Footers
public ObservableCollection<DataTemplate> Footers {get;}
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 examples 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.Footers> <DataTemplate> <Button Content="Select Items in Group" Click="SelectGroupItems_Click" Tag="{Binding RelativeSource={RelativeSource Self}, Path=(sldg:DataGridControl.GroupContext)}" /> </DataTemplate> </sldg:DataGridGroupConfiguration.Footers> </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