RadGridView Change ColumnGroup Header font size

1.8k Views Asked by At

I have a gridview where I group some columns of it..

Here's how I group them:

 void gvDetailsDefinition()
 {
            ColumnGroupsViewDefinition view = new ColumnGroupsViewDefinition();
            view.ColumnGroups.Add(new GridViewColumnGroup());
            view.ColumnGroups[0].Rows.Add(new GridViewColumnGroupRow());
            view.ColumnGroups[0].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["ItemCode"]);
            view.ColumnGroups[0].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["ItemDescription"]);
            view.ColumnGroups[0].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["MeasurementUnitSelection"]);

            view.ColumnGroups.Add(new GridViewColumnGroup("January"));
            view.ColumnGroups[1].Rows.Add(new GridViewColumnGroupRow());
            view.ColumnGroups[1].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["JanuaryQuantity"]);
            view.ColumnGroups[1].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["JanuaryVolume"]);

            view.ColumnGroups.Add(new GridViewColumnGroup("February"));
            view.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
            view.ColumnGroups[2].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["FebruaryQuantity"]);
            view.ColumnGroups[2].Rows[0].Columns.Add(gvSalesForecastDetails.Columns["FebruaryVolume"]);

            gvSalesForecastDetails.ViewDefinition = view;
}

is it possible for me to change the Font size and weight of the ColumnGroup?

here's the result of it:

enter image description here

1

There are 1 best solutions below

1
Ofer Hadad On

You have to use ViewCellFormatting event:

private void gvSalesForecastDetails_ViewCellFormatting(object sender, CellFormattingEventArgs e)
    {
        if (e.CellElement is GridHeaderCellElement)
        {
            if ((((string)(e.CellElement).Value) == "January" || ((string)(e.CellElement).Value) == "Feberuary" || ((string)(e.CellElement).Value) == "March"))
            {
                e.CellElement.Font = BOLD_FONT;//the font u want

                e.CellElement.ForeColor = Color.SteelBlue;
                e.CellElement.GradientStyle = GradientStyles.Solid;
                e.CellElement.DrawFill = true;
                e.CellElement.BackColor = Color.White;
            }
            else
            {
                e.CellElement.ResetValue(LightVisualElement.FontProperty, ValueResetFlags.Local);
                e.CellElement.ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local);
                e.CellElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local);
                e.CellElement.ResetValue(LightVisualElement.ForeColorProperty, ValueResetFlags.Local);
                e.CellElement.ResetValue(LightVisualElement.GradientStyleProperty, ValueResetFlags.Local);
            }
        }
    }