我有一个包含信息的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;
}
}
}
在认识到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;
}
}