This is a migrated thread and some comments may be shown as answers.

[Solved] Setting Header on dataGrid

1 Answer 139 Views
Grid for XAML
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Zied
Top achievements
Rank 1
Zied asked on 06 Jan 2014, 05:23 PM
Hello, i'm trying to change the Color header of my datagrid(which i bind to a list in code behind) like this :
<Grid:RadDataGrid Background="White"  Foreground="#2582d3"   BorderBrush="#2582d3"     HorizontalAlignment="Left" Height="463"  x:Name="DataGrid" VerticalAlignment="Top" GridLinesBrush="#2582d3" Margin="10,199,-1273,0" Width="2702">

            <Grid:RadDataGrid.Columns>
                <Grid:DataGridTextColumn PropertyName="Code">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Nom">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Prenom">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Type">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Lundi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Mardi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Mercredi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Jeudi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Vendredi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Samedi">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
                <Grid:DataGridTextColumn PropertyName="Dimanche">
                    <Grid:DataGridTextColumn.HeaderStyle>
                        <Style TargetType="gridPrimitives:DataGridColumnHeader">
                            <Setter Property="Background" Value="#2582d3"/>
                        </Style>
                    </Grid:DataGridTextColumn.HeaderStyle>
                </Grid:DataGridTextColumn>
            </Grid:RadDataGrid.Columns>

        </Grid:RadDataGrid>

it works fine but i also get the attributes of my class as headers near to the ones i added so i got 2 Grids the firs with colored headers and the second with black Headers !
any ideas please or help :)
Thanks

1 Answer, 1 is accepted

Sort by
0
Rosy Topchiyska
Telerik team
answered on 08 Jan 2014, 12:02 PM
Hi Zied,

Thank you for contacting us.

The RadDataGrid has an AutoGenerateColumns property that specifies whether the grid will automatically generate columns for every property of the data item. In your case you have to set the AutoGenerateColumns to false.

I can also recommend using a static resource for the columns' HeaderStyle:
<Page.Resources>
    <Style TargetType="gridPrimitives:DataGridColumnHeader" x:Key="HeaderStyle">
        <Setter Property="Background" Value="#2582d3"/>
    </Style>
</Page.Resources>

<Grid:DataGridTextColumn PropertyName="Code" HeaderStyle="{StaticResource HeaderStyle}"/>

I hope this was useful. Please, do not hesitate to contact us if you have further questions.

Regards,
Rositsa Topchiyska
Telerik

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Tags
Grid for XAML
Asked by
Zied
Top achievements
Rank 1
Answers by
Rosy Topchiyska
Telerik team
Share this question
or