[三菱] C#实现自动化报表,打印功能

[复制链接]
查看152 | 回复0 | 2024-6-28 17:24:31 | 显示全部楼层 |阅读模式
>报表打印可以导出后打印,也可以直接打印。

我们想将下列报表进行打印:

我们先建立了一个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#实现自动化报表,月报表的设计



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则