How to reproduce: check also the attached video public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radGridView1.DataSource = this.GetData(); this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; GroupDescriptor descriptor = new GroupDescriptor(); descriptor.GroupNames.Add("Name", ListSortDirection.Ascending); this.radGridView1.GroupDescriptors.Add(descriptor); } private DataTable GetData() { DataTable dt = new DataTable(); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Age", typeof(int)); dt.Columns.Add("Date", typeof(DateTime)); dt.Columns.Add("Bool", typeof(bool)); for (int i = 0; i < 3; i++) { for (int j = 0; j < 60; j++) { dt.Rows.Add("Name " + i, i, DateTime.Now.AddDays(i), i % 2 == 0); } } return dt; } private void radButton1_Click(object sender, EventArgs e) { GridPrintStyle style = new GridPrintStyle(); style.FitWidthMode = PrintFitWidthMode.FitPageWidth; this.radGridView1.PrintStyle = style; RadPrintDocument doc = new RadPrintDocument(); doc.HeaderHeight = 30; doc.HeaderFont = new Font("Arial", 12); doc.LeftHeader = "Left Header"; doc.MiddleHeader = "Middle header"; doc.RightHeader = "Right header"; doc.AssociatedObject = this.radGridView1; RadPrintPreviewDialog dialog = new RadPrintPreviewDialog(doc); dialog.Show(); } } Workaround: create a custom GridPrintStyle class public class MyGridPrintStyle : GridPrintStyle { protected override BaseGridPrintRenderer InitializePrintRenderer(RadGridView grid) { BaseGridPrintRenderer rend = base.InitializePrintRenderer(grid); if (rend is TableViewDefinitionPrintRenderer) { return new MyTableViewDefinitionPrintRenderer(grid); } return rend; } } public class MyTableViewDefinitionPrintRenderer : TableViewDefinitionPrintRenderer { public MyTableViewDefinitionPrintRenderer(RadGridView grid) : base(grid) { } protected override void PrintRowWideCell(GridViewRowInfo row, TableViewRowLayout rowLayout, GridPrintSettings settings, int currentX, int currentY, Graphics graphics) { int groupLevel = row.Group != null ? row.Group.Level + 1 : 0; int indentLevel = row.HierarchyLevel + 1 - groupLevel; Size cellSize = this.GetRowSize(row, rowLayout); int cellX = currentX + indentLevel * settings.HierarchyIndent + rowLayout.Owner.CellSpacing; Rectangle cellRect = new Rectangle(cellX, currentY, cellSize.Width - indentLevel * settings.HierarchyIndent, cellSize.Height); CellPrintElement printCell = new CellPrintElement(); if (row is GridViewGroupRowInfo) { if (this.PrintPages.Count > 0 && !settings.PrintHierarchy) { cellRect.Width -= this.PrintPages[this.CurrentPrintPage].Count - 1; } printCell = this.CreateGroupCellPrintElement(row as GridViewGroupRowInfo); if (printCell.Font != settings.GroupRowFont) { if (settings.GroupRowFont != null) { printCell.Font = settings.GroupRowFont; } else { settings.GroupRowFont = printCell.Font; } } } printCell.TextPadding = this.GridView.PrintStyle.CellPadding; printCell.RightToLeft = this.GridView.RightToLeft == RightToLeft.Yes; PrintCellFormattingEventArgs formattEventArgs = new PrintCellFormattingEventArgs(row, null, printCell); this.OnPrintCellFormatting(formattEventArgs); PrintCellPaintEventArgs paintEventArgs = new PrintCellPaintEventArgs(graphics, row, null, cellRect); this.OnPrintCellPaint(paintEventArgs); formattEventArgs.PrintCell.Paint(graphics, paintEventArgs.CellRect); } }