报表打印可以导出后打印,也可以直接打印。
我们想将下列报表进行打印:
我们先建立了一个button按钮,定义为打印
代码:
再建立打印页面定义代码:
private void PrintPage(object sender, PrintPageEventArgs e)
{
int x = e.MarginBounds.Left;
int y = e.MarginBounds.Top;
for (int i = 0; i < dataGridView2.Columns.Count; i++)
{ e.Graphics.DrawString(dataGridView2.Columns.HeaderText, new Font("Arial", 12, FontStyle.Bold),
Brushes.Black, x, y);
x += dataGridView2.Columns.Width;
}
y += 20
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
x = e.MarginBounds.Left;
for (int j = 0; j < dataGridView2.Columns.Count; j++)
{ e.Graphics.DrawString(dataGridView2.Rows.Cells[j].Value.ToString(), new Font("Arial", 12),
Brushes.Black, x, y);
x += dataGridView2.Columns[j].Width;
}
y += 20;
}
}
测试效果:
打印预览可以看出,打印出来的报表没线框,通过设置griddataview可以实现线框。同时增加页眉、页脚的打印。
this.dataGridView2.GridColor = Color.BlueViolet;
private void SetBorderAndGridlineStyles()
{ this.dataGridView2.GridColor = Color.BlueViolet; this.dataGridView2.BorderStyle = BorderStyle.Fixed3D; this.dataGridView2.CellBorderStyle = DataGridViewCellBorderStyle.None; this.dataGridView2.RowHeadersBorderStyle =
DataGridViewHeaderBorderStyle.Single; this.dataGridView2.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;}
其他相关文章:
c#实现自动化报表之一,查询生成基本的平均值、最大值、最小值
c#实现自动化报表,数据导出
C#实现自动化报表,将求得的平均值插入数据库作为月报表的今日数据。
C#实现自动化报表,月报表的设计 |