如何打印datagridview,在新页面中打印每一行?

问题描述 投票:0回答:1

我有一个包含信息的datagridview表

a | b
--+--
3 | 3
4 | 4
5 | 5

如何使用c#中的打印功能打印第1页的3,3和第2页的4,4,第3页的5,5等等?

    private void printDocTicket_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        float point = 60;

        for (int x = 0; x < DGVUpload.Rows.Count; x++)
        {
            point += 60;
            e.Graphics.DrawString(DGV["Sym3", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 60 , point );
            e.Graphics.DrawString(DGV["Sym4", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 250, point);

            if (x <= DGV.Rows.Count)
            {
                e.HasMorePages = false;
            }
            else
            {
                e.HasMorePages = true;
            }
        }
    }
c# printing datagridview
1个回答
0
投票

在认识到e.HasMorePages重新启动PrintPage事件之后修改我的代码给了我正在寻找的结果。

int i;

private void printDocTicket_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    float point = 60;  

    e.Graphics.DrawString(DGV["Sym3", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 60 , point );
    e.HasMorePages = true;
    i++;

    if(i == DGV.Rows.Count)
    {
        e.HasMorePages = false;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.