如何解决打印预览显示data wo dataGridView的数据,但打印机未打印Girdview的数据
我的打印预览工作正常。但是打印机不打印gridview的数据。 这是我的代码。仅名称,日期和其他文本正在打印。我已附加了打印预览和打印机输出的两个图像。 第一张图片是“打印预览”输出,第二张图片是“打印机”输出,(我另存为pdf) This is Print Preview's Output
private int numberOfItemsPerPage = 0;
private int numberOfItemsPrintedSoFar = 0;
int count = 1;
private void printDocument1_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawString(DateTime.Now.ToShortDateString(),new Font("Calibri",11,FontStyle.Regular),Brushes.Black,new Point(350,190));
e.Graphics.DrawString("M/S: " + customername.Text.Trim(),10,FontStyle.Bold),new RectangleF(20f,190f,290f,100f));
e.Graphics.DrawString(addtionaltext.Text.Trim(),685f,400f,100f));
int yPos = 235;
int xPos = 35;
for (int i = numberOfItemsPrintedSoFar; i < beltlist.Count; i++)
{
numberOfItemsPerPage++;
if (numberOfItemsPerPage <= 15 && count<= 3)
{
numberOfItemsPrintedSoFar++;
if (numberOfItemsPrintedSoFar <= beltlist.Count)
{
e.Graphics.DrawString(beltlist[i].BrandName,new Point(xPos,yPos));
if (beltlist[i].BrandName !="")
{
yPos += 30;
numberOfItemsPerPage++;
}
e.Graphics.DrawString(beltlist[i].BeltSize.ToString() + "–" + beltlist[i].QTY.ToString(),yPos));
yPos += 30;
}
else
{
e.HasMorePages = false;
}
}
else
{
count++;
yPos = 235;
xPos += 150;
numberOfItemsPerPage = 0;
if (count > 3)
{
e.HasMorePages = true;
xPos = 35;
count = 1;
return;
}
}
}
private void PrintPreview_Click(object sender,EventArgs e)
{
numberOfItemsPerPage = 0;
count = -1;
numberOfItemsPrintedSoFar = 0;
//printDocument1 = new System.Drawing.Printing.PrintDocument();
printPreviewDialog1.Document = printDocument1;
printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("pprnm",446,730);
printPreviewDialog1.ShowDialog();
}
private void PrintButton_Click(object sender,EventArgs e)
{
printDocument1.Print();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。