在winforms上工作,我正在尝试自定义网格视图打印。打印设置-打印权限部分从网格视图是不够的,以获得我想要的。我想画文字,并把一些图像到标题。
发布于 2014-02-17 18:08:54
你想把WinForms DataGridView
的内容打印到纸上吗?这实际上是一项困难的任务,因为DataGridView
是UI控件;它只为视图矩形中显示的行在单元格矩形中呈现每个单元格中可见的部分。单元格和视图矩形都是固定大小的。它还处理像滚动和编辑这样的事件。
如果要将视图中的所有数据打印到一张纸上,则必须将视图中所有的单元格内容,甚至未呈现的内容,显示到足够大到足以容纳整个单元格内容的可变大小的System.Drawing.Graphics
实例,并组装单元格以适应固定大小的页矩形,处理布局和分页,并避免页面矩形外的Graphics
矩形。
我的建议是使用像报表查看器或nReports这样的报表生成库。
如果您只是在学习打印,或者有非常简单的需求,您可以简单地遍历数据并将单元格内容绘制到纸上固定的边距;这样做有一个代码项目文章。
https://stackoverflow.com/questions/21835039
复制相似问题