Я зацикливаю датируемые значения на бумаге.Цель состоит в том, чтобы напечатать 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: 34
Стр.3: 5
Но фактическая печать сейчас: https://imgur.com/a/yxf1jij (фото с печати)