How to reproduce:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.radGridView1.DataSource = this.GetData();
this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
foreach (var col in this.radGridView1.Columns)
{
col.HeaderTextAlignment = ContentAlignment.MiddleLeft;
}
}
private DataTable GetData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("Bool", typeof(bool));
dt.Columns.Add("Bool1", typeof(bool));
dt.Columns.Add("Bool2", typeof(bool));
for (int i = 0; i < 50; i++)
{
dt.Rows.Add("Name " + i, DateTime.Now.AddMinutes(i), i % 2 == 0 ? true : false, false, false);
}
return dt;
}
private void radButton1_Click(object sender, EventArgs e)
{
this.radGridView1.PrintPreview();
}
}
Workaround:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.radGridView1.DataSource = this.GetData();
this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.radGridView1.PrintCellFormatting += radGridView1_PrintCellFormatting;
foreach (var col in this.radGridView1.Columns)
{
col.HeaderTextAlignment = ContentAlignment.MiddleLeft;
}
}
private void radGridView1_PrintCellFormatting(object sender, PrintCellFormattingEventArgs e)
{
if (e.Row is GridViewTableHeaderRowInfo && this.radGridView1.RightToLeft == System.Windows.Forms.RightToLeft.Yes)
{
e.PrintCell.TextAlignment = ContentAlignment.MiddleRight;
}
}
private DataTable GetData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("Bool", typeof(bool));
dt.Columns.Add("Bool1", typeof(bool));
dt.Columns.Add("Bool2", typeof(bool));
for (int i = 0; i < 50; i++)
{
dt.Rows.Add("Name " + i, DateTime.Now.AddMinutes(i), i % 2 == 0 ? true : false, false, false);
}
return dt;
}
private void radButton1_Click(object sender, EventArgs e)
{
this.radGridView1.PrintPreview();
}
}