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

[复制链接]
查看22755 | 回复0 | 2024-6-2 21:07:19 | 显示全部楼层 |阅读模式
报表打印可以导出后打印,也可以直接打印。

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



我们先建立了一个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
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则