C#:DataGridView的内容未出现在硬拷贝副本中

时间:2017-03-18 14:25:18

标签: c# vb.net winforms printing datagridview

我有一个DataGridView,点击打印按钮显示打印预览,然后点击打印按钮,打印出打印预览内容。

问题是我的DataGridView内容会在打印预览中显示,但是当我将其保存为XPS文档时。它没有显示DataGridView内容。虽然页眉和页脚在那里。但只有DataGridView数据不会打印。

这是打印行的代码:

e.Graphics.DrawString(list[i].Sr.ToString(), new Font("Arial", 12), Brushes.Black, new Point(35, yposition));
e.Graphics.DrawString(list[i].Name.ToString(), new Font("Arial", 12), Brushes.Black, new Point(80, yposition));
e.Graphics.DrawString(list[i].Packing.ToString(), new Font("Arial", 12), Brushes.Black, new Point(355, yposition));
e.Graphics.DrawString(list[i].Quantity.ToString(), new Font("Arial", 12), Brushes.Black, new Point(495, yposition));
e.Graphics.DrawString(list[i].Price.ToString(), new Font("Arial", 12), Brushes.Black, new Point(560, yposition));
e.Graphics.DrawString(list[i].TotalAmount.ToString(), new Font("Arial", 12), Brushes.Black, new Point(680, yposition));

我正在使用 Visual Studio 2013

1 个答案:

答案 0 :(得分:0)

你可能在这里做了太多工作。您可以使用以下简单代码将整个DataGridView绘制到Graphics对象:

using(Bitmap bmp = new Bitmap(800, 600))
{
  YourDataGridView.DrawToBitmap(bmp, new Rectangle(0, 0, 800, 600);
  e.Graphics.DrawImageUnscaled(bmp, 0, 0);
}

这适用于PrintPreview和Print。