0
我想每頁記錄數限制爲20,在我PrintDocumen的打印頁面事件:的WinForms打印多頁文檔
我打電話方法SetInvoiceData(e.Graphics, e)
具有下面的代碼通過的BindingSource bsOrderDetail循環:
foreach (DataRowView row in bsOrderDetail)
{
CurrentRecord++;
string FieldValue = row[1].ToString();
g.DrawString(FieldValue, InvSubTitleFont, BlackBrush, xProductID, CurrentY);
FieldValue = row[2].ToString();
if (FieldValue.Length > 20)
FieldValue = FieldValue.Remove(20, FieldValue.Length - 20);
g.DrawString(FieldValue, InvSubTitleFont, BlackBrush, xProductName, CurrentY);
FieldValue = row[3].ToString();
g.DrawString(FieldValue, InvSubTitleFont, BlackBrush, xQuantity, CurrentY);
FieldValue = row[4].ToString();
g.DrawString(FieldValue, InvSubTitleFont, BlackBrush, xUOM, CurrentY);
FieldValue = row[5].ToString();
g.DrawString(FieldValue, InvSubTitleFont, BlackBrush, xUnitPrice, CurrentY);
CurrentY = CurrentY + 24;
if (CurrentRecord > RecordsPerPage)
{
CurrentRecord = 1;
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
}
}
但是,新頁面從不創建,它將記錄繪製到當前頁面的末尾,忽略頁面的底部邊距並停止。當我通過調試器運行它時,我可以看到它調用e.HasMorePages = true;
語句,但正如我所說的那樣,沒有新的頁面被添加到文檔中。請指教。
您是否看過[this](http://www.codeproject.com/Tips/733680/Printing-and-Previewing-multiple-pages-in-Csharp)示例? –
剛剛用過這個例子。作品。謝謝。 – superconsultant