@@悬赏@@@@用水晶报表的兄弟进来,免得功败垂成于最后一刻@@@@@@@@@@@@@@@@
水晶报表的确是一个很强大的报表工具,可是,给我最深刻的印象却是“太硬”,硬的让人简直猝不及防,无可奈何。
我先说一下我的情况。
客户打印机star ar 3200+;
要求打印纸张 自定义大小240*140;
要求每页统计求和
要求分组打印,换组就换纸
有兴趣者可参考http://expert.csdn.net/Expert/topic/2553/2553798.xml?temp=.4428217
经过两天的折腾,最后算是解决了上述问题,在我的机器上没有任何问题了。好嘛,画好了所有的40张报表,算是松了口气,可以交差了,可是部署的时候出了问题。
描述如下:
我在报表绘制的时候就选择了star ar 3200+打印机,选择了自定义的纸张。没有任何问题,预览的时候就是显示的自定义纸张。但是部署到目标机器之后,目标机器同样选择的打印机是star ar 3200+,打印首选项同样是选择的自定义的纸张,和我的完全一样。但是程序运行起来,预览的时候居然用的A4的纸张!
试图解决如下:
方案1:于是开始搜索,发现有个人是这样问的,为什么我的自定义打印部署到其他机器上不能用,问题和我一样的了,发现解决方案居然是:用一张类似于自定义纸张的标准纸张来替代,这有个P用,那还自定义干什么!当然那个楼主也是最后迫不得已,只好到目标机器上重新编译一下,指定一下打印机,然后说,天哪,100台机器
怎么解决???
方案2:问了几个兄弟,有一个兄弟这样说,绘制报表的时候不要指定打印机,也不要设定纸张,选择那个无打印机的选项,然后部署到目标机器上就可以了,当然目标机器要配置好打印机和首选项,他的解释是,水晶报表预览的时候会去搜索系统默认的打印机和纸张,然后显示出来。一听之下欣喜若狂,赶紧一试,仍然是很执著的A4!
方案3:于是捉摸,莫不成是要修改注册表里面有关打印机的设置?结果瞎弄了一通,还是没有。
方案4:那就想,我干脆在调用它的时候指定大小吧,在crystalviewer里面做。
好嘛,一看这个rd.PrintOptions.PaperSize(rd就是我的报表),居然是个枚举,枚举了任意的标准纸张,就是没有自定义的,和System.Drawing.Printing.PaperSize根本是两回事。
方案5:听说水晶报表9.2解决了这个问题,号称是画好报表之后,部署的时候不会改变大小,于是开始down,下来一试,晕,我可爱的A4........
问题就是这样,黔驴技穷了,TNND水晶报表就这么麻烦???就这么硬???
我发这个帖子,首先,描述下我的惨痛经历,给兄弟们提个醒,其次,我相信肯定有人解决了这个问题,如能给出成功方案者,我定开贴酬谢。不少于400分。
谢谢。