我有一个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 。
答案 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。