Помогите мне, пожалуйста, контролировать цикл.
Я попробовал другой цикл. В цикле for возникает похожая проблема. Я хочу напечатать данные индекса от 0 до 14 на одной странице и данные индекса от 15 до 29 на другой странице и так далее.
Пожалуйста, сообщите мне, если есть способ напечатать счет с помощью цикла for. Спасибо.
while (rdr.Read())
{
if (itemCounter < itemPerPage)
{
e.Graphics.DrawString(rdr["cCode"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(60, Ypos));
e.Graphics.DrawString(rdr["cName"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(120, Ypos));
e.Graphics.DrawString(rdr["cShortAddress"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(310, Ypos));
e.Graphics.DrawString(rdr["cPhone"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(580, Ypos));
Ypos = Ypos + 22;
itemCounter++;
}
else
{
Ypos = 182;
e.HasMorePages = true;
}
}
rdr.Close();
for (i= itenCounter; i < totalItem; i++)
{
rdr.Read();
if (itemCounter < itemPerPage)
{
e.Graphics.DrawString(rdr["cCode"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(60, Ypos));
e.Graphics.DrawString(rdr["cName"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(120, Ypos));
e.Graphics.DrawString(rdr["cShortAddress"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(310, Ypos));
e.Graphics.DrawString(rdr["cPhone"].ToString(), new Font("Arial", 11, FontStyle.Regular), Brushes.Black, new Point(580, Ypos));
Ypos = Ypos + 22;
itemCounter++;
}
else
{
Ypos = 182;
e.HasMorePages= true;
}
}
itenCounter = itenCounter + itemPerPage;
Галина
Вопрос задан8 мая 2024 г.