NetAdvantage中提供了PrintPreview控件,用于打印的预览实现。UltraGrid也提供了直接打印的支持,且效果也是很不错的!
本文将介绍如何实现UltraGrid的打印效果。
1. 拖放UltraGrid到Form中,增加一些Column,这里另外增加了几个图片按钮列,要在打印的时候不打印出来

2. 拖放一个GridPrintDocument和一个PrintPreviewDialog,它们是组件,出现在Form下方的组件区域

3. Print按钮事件中写下如下代码
第一段代码是设置Grid中的指定Column是否可见;
第二段代码是将PrintDocument与Grid关联,并且指定PrintPreviewDialog的Document为PrintDocument,然后Show出PrintPreviewDialog,供用户打印预览;
第三段代码是将Grid的属性还原为初始状态;

4. 运行效果
能够将Grid的Style完全打印出来

5. 注意点:
由于PrintPreviewDialog是在ShowDialog的时候才会读取Grid的Layout,所以必须在ShowDialog之前调整Grid的Columns等样式,并且要应用(EndUpdate)
如果需要调整页面的布局,可以对PrintPreviewDialog属性进行设置以符合具体的需求
