我们在做水晶报表的时候无论怎么做都不能实现横向打印,这是水晶报表10的一个bug。这个问题是很好处理的,处理它有两种方法,一种是通过反编译水晶报表代码找到错误进行处理,还有一种是通过修改一个水晶报表的的一个html文件就可以了。这里只介绍第二种方法也是最简单的。
首先我们找到crystalprinthost.html这个文件,然后用记事本打开它发现有这么一部分代码:
if (window.dialogArguments.pageorientation) {
objectTag +="<PARAM NAME=/"PageOrientation/" VALUE=/"";
objectTag += window.dialogArguments.pageorientation;
objectTag += "/">";
}
这是一个js方法中的代码和水晶报表的源代码不对,在这里只要对这部分代码进行修改就可以如下:
if (window.dialogArguments.paperorientation) {
objectTag +="<PARAM NAME=/"PageOrientation/" VALUE=/"";
objectTag += window.dialogArguments.paperorientation;
objectTag += "/">";
}
通过修改这部分代码后测试通过,就不需要每次在打印进对打印机进行手工更改打印设置。