最基本的代码网上有,在这里就不多说明了。
有DataGrid 需要翻页时,在打印的代码里写了翻页的代码,但实际运行的时候,就存在了异步的现象,修改了代码做了限制。
看似问题解决了,但是隐患似乎没有消除,在我的DataGrid里,我是使用domaindatasourse来加载数据的,每次加载了五页的数据,到第六页的时候,它会再次去加载接下来的五页,在这个过程中,会有个短暂的停顿,而就是这个停顿,促使我的隐患显现出来,我界面上的打印一直在等待中,页面不再向下一页跳转。找了很久都不得其解,最终发现是PrintDocument pd = new PrintDocument();这句,我把PrintDocument pd定义为全局,在方法里实例化,问题总算解决了。原来,时间一长,pd的资源自动被释放掉了。