Issues with moving Footer

1 posts, 0 answers
  1. Girish
    Girish avatar
    1 posts
    Member since:
    Feb 2011

    Posted 21 Dec 2011 Link to this post

    Hi,

    We are currently using this Style for the GridViewGroupRow:
    ---------------------------------------------
    <ResourceDictionary
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" 
        xmlns:GridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" 
        xmlns:ValueConverters="clr-namespace:Cobra2009.ValueConverters">
        <ValueConverters:AggregatesConverter x:Key="AggregatesConverter" />
        <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
        <telerik:Windows7Theme x:Key="BaseTheme"/>
        <SolidColorBrush x:Key="ControlOuterBorder" Color="#FF848484"/>
        <SolidColorBrush x:Key="ControlInnerBorder" Color="White"/>
        <SolidColorBrush x:Key="GridView_GroupRowIndicator" Color="Black"/>
        <SolidColorBrush x:Key="GridView_RowIndicatorCellBackground" Color="#FFE4E4E4"/>
        <SolidColorBrush x:Key="GridView_GroupRowBackground" Color="#FFE4E4E4"/>
        <SolidColorBrush x:Key="GridView_GridLinesItemBorder" Color="#FFCBCBCB"/>
        <ControlTemplate x:Key="GridViewGroupToggleButtonTemplate" TargetType="ToggleButton">
            <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
                <ContentPresenter/>
            </Border>
        </ControlTemplate>
        <Style x:Key="GridViewGroupToggleButtonStyle" TargetType="ToggleButton">
            <Setter Property="Template" Value="{StaticResource GridViewGroupToggleButtonTemplate}"/>
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Padding" Value="9,0,0,0"/>
        </Style>
        <LinearGradientBrush x:Key="HeaderColour" EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FFD3213B"/>
            <GradientStop Color="#FF706F70" Offset="1"/>
            <GradientStop Color="#FF040404" Offset="0.252"/>
        </LinearGradientBrush>
        <ControlTemplate x:Key="GridViewGroupRowTemplate" TargetType="GridView:GridViewGroupRow">
            <Grid x:Name="PART_GroupExpanderGrid">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition x:Name="PART_HeaderRow" MinHeight="{TemplateBinding MinHeight}"/>
                    <RowDefinition x:Name="ContentRow" Height="Auto"/>
                </Grid.RowDefinitions>
                <VisualStateManager.VisualStateGroups>
                    <VisualStateGroup x:Name="ExpandStateGroup">
                        <VisualState x:Name="Expanded">
                            <Storyboard>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="Content">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BottomBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconOuterBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0,0,0,0"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconInnerBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1,1,0,0"/>
                                </ObjectAnimationUsingKeyFrames>
                                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                    <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="180"/>
                                </DoubleAnimationUsingKeyFrames>
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="Collapsed">
                            <Storyboard>
                                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                    <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="0"/>
                                </DoubleAnimationUsingKeyFrames>
                            </Storyboard>
                        </VisualState>
                    </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Border x:Name="ToggleButtonBorder" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" Grid.Column="2" MinHeight="{TemplateBinding MinHeight}" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="25"/>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <Border  Grid.Column="2" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="{Binding ShowHeaderAggregates, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                            <GridView:AggregateResultsList 
     HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
     ItemsSource="{Binding AggregateResults, Mode=TwoWay, Converter={StaticResource AggregatesConverter}}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                                <GridView:AggregateResultsList.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <StackPanel Orientation="Horizontal" Margin="10,0" />
                                    </ItemsPanelTemplate>
                                </GridView:AggregateResultsList.ItemsPanel>
                                <GridView:AggregateResultsList.ItemTemplate>
                                    <DataTemplate>
                                        <Grid VerticalAlignment="Center" Margin="0,0,5,0" DataContext="{Binding}" MinWidth="200" >
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="60" />
                                                <ColumnDefinition Width="*" MinWidth="100" />
                                            </Grid.ColumnDefinitions>
                                            <TextBlock Margin="2,0" TextAlignment="Left" VerticalAlignment="Center" Foreground="{TemplateBinding Foreground}" Text="{Binding Caption}"/>
                                            <TextBlock Grid.Column="1" Margin="2,0,40,0" TextAlignment="Right" VerticalAlignment="Center" Foreground="{TemplateBinding Foreground}" Text="{Binding FormattedValue}" />
                                        </Grid>
                                    </DataTemplate>
                                </GridView:AggregateResultsList.ItemTemplate>
                            </GridView:AggregateResultsList>
                        </Border>
                        <Border x:Name="IconOuterBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Background="Transparent" HorizontalAlignment="Stretch" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                            <Border x:Name="IconInnerBorder" BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1,1,0,1">
                                <Path x:Name="ExpanderButton" Grid.Column="0" Data="M0,0L1,0 2,0 2,0.99999991 3,0.99999991 3,2 4,2 4,0.99999991 5,0.99999991 5,0 5.9999999,0 7,0 7,0.99999991 5.9999999,0.99999991 5.9999999,2 5,2 5,3 4,3 4,4 3,4 3,3 2,3 2,2 1,2 1,0.99999991 0,0.99999991z" Fill="{StaticResource GridView_GroupRowIndicator}" HorizontalAlignment="Left" Height="5" Margin="{TemplateBinding Padding}" RenderTransformOrigin="0.5,0.5" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="7">
                                    <Path.RenderTransform>
                                        <RotateTransform/>
                                    </Path.RenderTransform>
                                </Path>
                            </Border>
                        </Border>
                        <ToggleButton x:Name="HeaderButton" Foreground="White" Background="{StaticResource HeaderColour}" Grid.ColumnSpan="3" Grid.Column="0" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Opacity="0" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical"/>
                        <ToggleButton MinWidth="100" Foreground="White" BorderBrush="{x:Null}" BorderThickness="0" Background="{StaticResource HeaderColour}" Grid.Column="1" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Padding="0,0,10,0" Style="{StaticResource GridViewGroupToggleButtonStyle}" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                            <ContentPresenter ContentTemplate="{TemplateBinding GroupHeaderTemplate}" Content="{TemplateBinding GroupViewModel}" Grid.Column="1" Margin="0,0,10,0" VerticalAlignment="Center"/>
                        </ToggleButton>
                        <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.ColumnSpan="2" Grid.Column="1" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                            <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="0,1,1,1"/>
                        </Border>
                    </Grid>
                </Border>
                <Border x:Name="PART_IndicatorPresenter" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,1,1" Grid.Column="0" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" VerticalAlignment="Stretch" Width="25">
                    <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_RowIndicatorCellBackground}"/>
                </Border>
                <GridView:IndentPresenter Background="{TemplateBinding Background}" Grid.Column="1" IndentLevel="{TemplateBinding Level}" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource BaseTheme}"/>
                <Border x:Name="Content" Grid.ColumnSpan="5" Grid.Column="0" Grid.Row="1" Visibility="Collapsed">
                    <StackPanel>
                        <GridView:GridViewGroupFooterRow x:Name="Footer" telerik:StyleManager.Theme="{StaticResource BaseTheme}" Background="LightGray"/>
                        <GridView:GridViewVirtualizingPanel x:Name="PART_GridViewVirtualizingPanel"/>
                    </StackPanel>
                </Border>
                <Border x:Name="BottomBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.Column="2" Grid.Row="1" Visibility="Collapsed" VerticalAlignment="Bottom"/>
            </Grid>
        </ControlTemplate>
    </ResourceDictionary>

    -------------------------------------------------------------------------

    When we try and display the footer column in the Header, this breaks the sum.  The GroupRow displays the wrong values for the rows:

    This is what we are using as the style:
    --------------------------------------------------------------------------

    <ResourceDictionary
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" 
        xmlns:GridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" 
        xmlns:ValueConverters="clr-namespace:Cobra2009.ValueConverters">
        <ValueConverters:AggregatesConverter x:Key="AggregatesConverter" />
        <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
        <telerik:Windows7Theme x:Key="BaseTheme"/>
        <SolidColorBrush x:Key="ControlOuterBorder" Color="#FF848484"/>
        <SolidColorBrush x:Key="ControlInnerBorder" Color="White"/>
        <SolidColorBrush x:Key="GridView_GroupRowIndicator" Color="Black"/>
        <SolidColorBrush x:Key="GridView_RowIndicatorCellBackground" Color="#FFE4E4E4"/>
        <SolidColorBrush x:Key="GridView_GroupRowBackground" Color="#FFE4E4E4"/>
        <SolidColorBrush x:Key="GridView_GridLinesItemBorder" Color="#FFCBCBCB"/>
        <ControlTemplate x:Key="GridViewGroupToggleButtonTemplate" TargetType="ToggleButton">
            <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
                <ContentPresenter/>
            </Border>
        </ControlTemplate>
        <Style x:Key="GridViewGroupToggleButtonStyle" TargetType="ToggleButton">
            <Setter Property="Template" Value="{StaticResource GridViewGroupToggleButtonTemplate}"/>
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Padding" Value="9,0,0,0"/>
        </Style>
        <ControlTemplate x:Key="GridViewGroupRowTemplate" TargetType="GridView:GridViewGroupRow">
            <Grid x:Name="PART_GroupExpanderGrid">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition x:Name="PART_HeaderRow" MinHeight="{TemplateBinding MinHeight}"/>
                    <RowDefinition x:Name="ContentRow" Height="Auto"/>
                </Grid.RowDefinitions>
                <VisualStateManager.VisualStateGroups>
                    <VisualStateGroup x:Name="ExpandStateGroup">
                        <VisualState x:Name="Expanded">
                            <Storyboard>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="CollapseGrid">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BottomBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconOuterBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0,0,0,0"/>
                                </ObjectAnimationUsingKeyFrames>
                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconInnerBorder">
                                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1,1,0,0"/>
                                </ObjectAnimationUsingKeyFrames>
                                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                    <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="180"/>
                                </DoubleAnimationUsingKeyFrames>
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="Collapsed">
                            <Storyboard>
                                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton">
                                    <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="0"/>
                                </DoubleAnimationUsingKeyFrames>
                            </Storyboard>
                        </VisualState>
                    </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Border x:Name="Content" Grid.ColumnSpan="5" Grid.Column="2" Grid.Row="1">
                    <StackPanel VirtualizingStackPanel.VirtualizationMode="Recycling">
                        <Border x:Name="ToggleButtonBorder" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" Grid.Column="2" MinHeight="{TemplateBinding MinHeight}" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                            <Grid>
                                <GridView:GridViewGroupFooterRow x:Name="Footer" telerik:StyleManager.Theme="{StaticResource BaseTheme}" />
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="25"/>
                                        <ColumnDefinition Width="Auto"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <!--<Border Grid.Column="2" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="{Binding ShowHeaderAggregates, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />-->
                                    <Border x:Name="IconOuterBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Background="Transparent" HorizontalAlignment="Stretch" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                        <Border x:Name="IconInnerBorder" BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1,1,0,1">
                                            <Path x:Name="ExpanderButton" Grid.Column="0" Data="M0,0L1,0 2,0 2,0.99999991 3,0.99999991 3,2 4,2 4,0.99999991 5,0.99999991 5,0 5.9999999,0 7,0 7,0.99999991 5.9999999,0.99999991 5.9999999,2 5,2 5,3 4,3 4,4 3,4 3,3 2,3 2,2 1,2 1,0.99999991 0,0.99999991z" Fill="{StaticResource GridView_GroupRowIndicator}" HorizontalAlignment="Left" Height="5" Margin="{TemplateBinding Padding}" RenderTransformOrigin="0.5,0.5" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="7">
                                                <Path.RenderTransform>
                                                    <RotateTransform/>
                                                </Path.RenderTransform>
                                            </Path>
                                        </Border>
                                    </Border>
                                    <ToggleButton x:Name="HeaderButton" Background="Transparent" Grid.ColumnSpan="3" Grid.Column="0" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Opacity="0" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical"/>
                                    <ToggleButton MinWidth="75" BorderBrush="{x:Null}" BorderThickness="0" Foreground="White" Grid.Column="1" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Padding="0,0,10,0" Style="{StaticResource GridViewGroupToggleButtonStyle}" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                        <ToggleButton.Background>
                                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                <GradientStop Color="#FFD3213B"/>
                                                <GradientStop Color="#FF706F70" Offset="1"/>
                                                <GradientStop Color="#FF040404" Offset="0.252"/>
                                            </LinearGradientBrush>
                                        </ToggleButton.Background>
                                        <ContentPresenter ContentTemplate="{TemplateBinding GroupHeaderTemplate}" Content="{TemplateBinding GroupViewModel}" Grid.Column="1" Margin="0,0,10,0" VerticalAlignment="Center"/>
                                    </ToggleButton>
                                    <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.ColumnSpan="2" Grid.Column="1" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                                        <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="0,1,1,1"/>
                                    </Border>
                                    <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.ColumnSpan="3" Grid.Column="0" GridView:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                                        <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="0,1,1,1"/>
                                    </Border>
                                </Grid>
                            </Grid>
                        </Border>
                        <Grid x:Name="CollapseGrid" Grid.ColumnSpan="5" Grid.Column="0" Grid.Row="1"  Visibility="Collapsed">
                            <GridView:GridViewVirtualizingPanel x:Name="PART_GridViewVirtualizingPanel"/>
                        </Grid>
                    </StackPanel>
                </Border>
                <Border x:Name="PART_IndicatorPresenter" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,1,1" Grid.Column="0" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" VerticalAlignment="Stretch" Width="25">
                    <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1" Background="{StaticResource GridView_RowIndicatorCellBackground}"/>
                </Border>
                <GridView:IndentPresenter Background="{TemplateBinding Background}" Grid.Column="1" IndentLevel="{TemplateBinding Level}" GridView:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" telerik:StyleManager.Theme="{StaticResource BaseTheme}"/>
                <Border x:Name="BottomBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.Column="2" Grid.Row="1" Visibility="Collapsed" VerticalAlignment="Bottom"/>
            </Grid>
        </ControlTemplate>
    </ResourceDictionary>

     -----------------------------------------------

    Is there a bug with the GroupRowFooter that it displays the wrong value if displayed as the header?


Back to Top