我正在寻找一种方法来调整Crystal Reports提供的页面宽度,以便在.rpt文件中放置字段。
到目前为止,我发现如果我右键单击报告,选择“设计”/“打印机设置”,我可以选择要在报告上打印的纸张大小。如果我选择“方向/横向”,我可以增加页面的宽度,并且我可以在报告上放置更多的字段。
我的目标:将我的所有字段(约25个)放置在我的报表上,并将数据导出到Excel中。目前我没有足够的宽度来放置.rpt文件中的所有字段。
是否有一种方法可以将页面宽度增加到任意数字?
我正在寻找一种方法来调整Crystal Reports提供的页面宽度,以便在.rpt文件中放置字段。
到目前为止,我发现如果我右键单击报告,选择“设计”/“打印机设置”,我可以选择要在报告上打印的纸张大小。如果我选择“方向/横向”,我可以增加页面的宽度,并且我可以在报告上放置更多的字段。
我的目标:将我的所有字段(约25个)放置在我的报表上,并将数据导出到Excel中。目前我没有足够的宽度来放置.rpt文件中的所有字段。
是否有一种方法可以将页面宽度增加到任意数字?
找到了:http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=754
基本上,向系统添加一个虚拟打印机,该打印机可以使用更大的纸张尺寸,并将其选择为报告的打印机。
通过更改报表的纸张大小。将其设置为法律/信件等将增加报表的宽度,以便您可以在报表上轻松显示多于10列的数据。
操作步骤:右键单击 -> 设计 -> 打印机设置 -> 纸张 -> 大小。
另一种方法是更改报表的方向。默认情况下为纵向。您可以将其更改为横向。
操作步骤:右键单击 -> 设计 -> 打印机设置 -> 方向 -> 横向(单选按钮)。
文件 -> 打印机设置 -> 属性 -> 方向 -> 选择纵向。
我想我应该在这里添加接受的答案的实际步骤,而不是去链接寻找它(它指向另一个链接)。在Crystal Reports中对我有用的是:
我将打印机设置为非常宽的大小,然后使用它。Ben的链接是正确的想法。
我意识到这是一个非常古老的话题,问题涉及设计模式,但由于这个问题在我的谷歌搜索中一直出现,我希望这可以帮助某些人。因此,我想补充一下,程序上可以不使用虚拟打印机来完成:
var repDoc = new ReportDocument();
repDoc.Load(rpt_path);
ISCDReportClientDocument clientDoc = repDoc.ReportClientDocument;
clientDoc.PrintOutputController.ModifyUserPaperSize(repDoc.PrintOptions.PageContentHeight, repDoc.PrintOptions.PageContentWidth * 2);