【问题标题】:DataGridView content is not printingDataGridView 内容未打印
【发布时间】:2016-04-02 10:22:10
【问题描述】:

我有一个DataGridView,通过单击打印按钮它显示打印预览,然后通过单击打印按钮它应该打印打印预览内容。

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

这是打印DataGridView行的代码:

e.Graphics.DrawRectangle(p, new System.Drawing.Rectangle(100, height, 
   dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawString(dataGridView1.Rows[i].Cells[1].FormattedValue.ToString(), 
    dataGridView1.Font, Brushes.Black, new System.Drawing.Rectangle(90, height, 
    dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawRectangle(p, new System.Drawing.Rectangle(100, height, 
    dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawString(dataGridView1.Rows[i].Cells[2].FormattedValue.ToString(), 
   dataGridView1.Font, Brushes.Black,  new System.Drawing.Rectangle(270, height, 
  dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawRectangle(p, new System.Drawing.Rectangle(100, height, 
 dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawString(dataGridView1.Rows[i].Cells[3].FormattedValue.ToString(), 

 dataGridView1.Font, Brushes.Black, new System.Drawing.Rectangle(450, height, 
 dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawRectangle(p, new System.Drawing.Rectangle(100, height, 
      dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

e.Graphics.DrawString(dataGridView1.Rows[i].Cells[5].FormattedValue.ToString(),
  dataGridView1.Font, Brushes.Black, new System.Drawing.Rectangle(670, height, 
  dataGridView1.Columns[0].Width, dataGridView1.Rows[0].Height));

【问题讨论】:

  • 除了非常令人费解(为什么不将高度和宽度提取到两个变量中?)代码,如果它确实在预览中显示了内容 似乎 好的。那么,您究竟是如何编写循环和设置文档的呢?你在哪里计算height? - 另外:不要打电话给DataGridViewa GridView!!这是错误的和令人困惑的......总是用他们的正确名字来称呼事物!是的,需要多输入 四个 个字母。..

标签: c# printing datagridview


【解决方案1】:

点击打印按钮后放置调试器并检查数据源可能会重新初始化它为什么不绑定您的数据

【讨论】:

  • 如果我使用第三方工具打印水晶报表或 itextsharp 等文档怎么办?可以为您的项目使用第三方工具吗?我的意思是它们在一段时间后没有过期?
【解决方案2】:

如果您只想以文本格式或 pdf 格式显示您的网格,则无需使用第三方工具,只需使用 C# 库来完成您的任务,否则使用免费提供的第三方工具没有问题

【讨论】:

  • 请将此添加到您的原始答案中。这不是一个讨论论坛,所以除非他们提供两个完全独立的答案,否则不要创建单独的答案。
猜你喜欢
  • 1970-01-01
  • 2017-07-20
  • 2012-11-02
  • 2011-01-14
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2020-01-07
  • 1970-01-01
相关资源
最近更新 更多