NetAdvantage中提供了PrintPreview控件,用于打印的预览实现。UltraGrid也提供了直接打印的支持,且效果也是很不错的!
本文将介绍如何实现UltraGrid的打印效果。
1. 拖放UltraGrid到Form中,增加一些Column,这里另外增加了几个图片按钮列,要在打印的时候不打印出来
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/2186eccad14442afadc7a73427645d63.png)
2. 拖放一个GridPrintDocument和一个PrintPreviewDialog,它们是组件,出现在Form下方的组件区域
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/33ef79df1bb64796bf28f2caa2e827f2.png)
3. Print按钮事件中写下如下代码
第一段代码是设置Grid中的指定Column是否可见;
第二段代码是将PrintDocument与Grid关联,并且指定PrintPreviewDialog的Document为PrintDocument,然后Show出PrintPreviewDialog,供用户打印预览;
第三段代码是将Grid的属性还原为初始状态;
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/ab3f7ad0471040009a17d94ce456eec3.png)
4. 运行效果
能够将Grid的Style完全打印出来
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/ae735c3430374f7a88fb7e3b2a564fe5.png)
5. 注意点:
由于PrintPreviewDialog是在ShowDialog的时候才会读取Grid的Layout,所以必须在ShowDialog之前调整Grid的Columns等样式,并且要应用(EndUpdate)
如果需要调整页面的布局,可以对PrintPreviewDialog属性进行设置以符合具体的需求
![](https://p-blog.csdn.net/images/p_blog_csdn_net/venus0314/e7af954dca8344f2a2dfd055f6180aa5.png)