用C#的printdocument画了一个表格,表格有31排,里面需要填入数据,数据的长短不定,有的没有超过31排,有的超过31排。
没有超过31排的,显示没有问题。
超过31排,也就是数据超过一页的,就不能正常显示了
也看到有人说用e.HasMorePages = true来解决,但是自己理解的不是很透彻,如果内容超过了31排,也就是超过了一页,用了e.HasMorePages = true后,显示的内容不仅填入到第一页的表格外面,而且也没有第二页的内容显示出来,代码如下:
if (totalpages == 1)
{
for (int i = 0; i < r; i++)
{
g.DrawString(arr[i], myfont1, mybrush, x + 615, y + 215 + i * 18);
}
}
if (totalpages == 2)
{
for (int i = 0; i < 31; i++)
{
g.DrawString(arr[i], myfont1, mybrush, x + 615, y + 215 + i * 18);
}
e.HasMorePages = true;
for (int i = 31; i < r; i++)
{
g.DrawString(arr[i], myfont1, mybrush, x + 615, y + 215 + i * 18);
}
e.HasMorePages = false;
}