如何将数据表值打印到多个页面?

时间:2019-05-28 08:30:33

标签: c# .net winforms

我正在将数据表值循环到纸上。目的是每页打印25个项目。因此,在测试中,我每页打印2个项目,但是它总是打印两次到同一页,然后更改页面。

我已经测试了所有循环,但没有一个可以帮到您。所以也许我做错了。。

   int ItemsPerPage = 0;
   int ItemsPrinted = 0; 
   private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        Graphics g = e.Graphics;
        //Tuotetietojen y-kohta
        int yPos = 360;

        for (int i = ItemsPrinted; i < dt.Rows.Count; i++)
        {
            ItemsPerPage++; 

            if (ItemsPerPage <= 2) 
            {
                ItemsPrinted++; 

                if (ItemsPrinted <= dt.Rows.Count) 
                { 
                    DataRow row = dt.Rows[i];
                    g.DrawString(row["Tuotekoodi"].ToString(), new Font("Arial", 12), Brushes.Black, 50, yPos);
                    g.DrawString(row["Nimike"].ToString(), new Font("Arial", 12), Brushes.Black, 120, yPos);
                    g.DrawString(row["Määrä"].ToString(), new Font("Arial", 12), Brushes.Black, 410, yPos);
                    g.DrawString(row["Hinta"].ToString(), new Font("Arial", 12), Brushes.Black, 500, yPos);
                    g.DrawString(row["Alennus"].ToString(), new Font("Arial", 12), Brushes.Black, 600, yPos);
                    g.DrawString(row["Rivihinta"].ToString(), new Font("Arial", 12), Brushes.Black, 690, yPos);
                    yPos += 20;
                }
                else
                {
                    e.HasMorePages = false;
                }
            }
            else
            {
                ItemsPerPage = 0;
                e.HasMorePages = true;
                return;
            }
        }


  }

我希望打印5个项目的输出为:

第1页: 1个 2

第2页: 3 4

第3页: 5

但是现在实际的打印是:https://imgur.com/a/yxf1jij(打印照片)

0 个答案:

没有答案