vs2005 水晶报表横向打印Bug
2007-01-29 08:11
309 查看
前几日发现水晶报表设计器中设置为横向打印的时候,出来的打印出口中默认选项仍未纵向,遍寻网络无果,只有人说是水晶报表的Bug,只好自己想办法。使用Reflector反编译crystal report后,在CrystalDecisions.Web.ViewerToolbar中发现了如下代码:
if (info1 != null)
{
builder1.Append("prm.paperorientation = \"");
builder1.Append((int) info1.Orientation);
builder1.Append("\";\r\nprm.papersize = \"");
builder1.Append((int) info1.PaperSize);
builder1.Append("\";\r\nprm.drivername = \"");
builder1.Append(info1.DriverName);
builder1.Append("\";\r\nprm.usedefprinter = \"");
builder1.Append(info1.UseDefaultPrinter ? "1" : "0");
builder1.Append("\";\r\nprm.usedefprintersettings = \"");
builder1.Append(info1.UseDefaultPrinterSettings ? "1" : "0");
builder1.Append("\";\r\n");
}
而在aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\html\crystalprinthost.html中有以下代码
if (window.dialogArguments.pageorientation) {
objectTag +="<PARAM NAME=\"PageOrientation\" VALUE=\"";
objectTag += window.dialogArguments.pageorientation;
objectTag += "\">";
}
显然会发现标红粗体部分上下不一致,所以导致即便在页面设置了为横向打印,出来依然是默认选项,将html中的pageorientation修改为paperorientation就OK了。注意上边html代码中的第二行正确,不需要修改。
if (info1 != null)
{
builder1.Append("prm.paperorientation = \"");
builder1.Append((int) info1.Orientation);
builder1.Append("\";\r\nprm.papersize = \"");
builder1.Append((int) info1.PaperSize);
builder1.Append("\";\r\nprm.drivername = \"");
builder1.Append(info1.DriverName);
builder1.Append("\";\r\nprm.usedefprinter = \"");
builder1.Append(info1.UseDefaultPrinter ? "1" : "0");
builder1.Append("\";\r\nprm.usedefprintersettings = \"");
builder1.Append(info1.UseDefaultPrinterSettings ? "1" : "0");
builder1.Append("\";\r\n");
}
而在aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3\html\crystalprinthost.html中有以下代码
if (window.dialogArguments.pageorientation) {
objectTag +="<PARAM NAME=\"PageOrientation\" VALUE=\"";
objectTag += window.dialogArguments.pageorientation;
objectTag += "\">";
}
显然会发现标红粗体部分上下不一致,所以导致即便在页面设置了为横向打印,出来依然是默认选项,将html中的pageorientation修改为paperorientation就OK了。注意上边html代码中的第二行正确,不需要修改。
相关文章推荐
- vs2005 水晶报表横向打印Bug
- vs2005 ASP.Net 解决水晶报表无法横向打印
- (转)水晶报表横向打印BUG处理
- 水晶报表横向打印BUG处理
- 【BUG】水晶报表多打印空白页的解决方法
- VS2005水晶报表的横向打印问题
- 水晶报表横向打印BUG处理
- 水晶报表BUG--出现通信错误。将停止打印
- 水晶报表 For VS2005的新功能——“设计时预览” (BUG)
- C#实现水晶报表绑定数据并实现打印
- 解决vs2005自带水晶报表次数的限制的次数
- 管理信息化中水晶报表的打印与精确打印的实现
- 水晶报表自定义打印非完美解决方案 .
- VS2005 中水晶报表的使用方法
- 水晶报表ActiveX控件打印
- 使用参数控制水晶报表的部分元素不打印
- 谷歌浏览器(Chorme) 水晶报表(Crystal Report )ReportViewer无法打印,无打印按钮
- 经典水晶报表--单击表头排序vs2005(2008年版本)
- 在vs2005中的ReportViewer(RDLC报表)中使用直接打印功能,在vs2005使用ReportViewer2008
- VS2005下水晶报表如何实现动态数据源绑定