经过个人反复研究后,特提出一下几点意见:
设计里修改方法:
1、在“打印设置”对话框,选择“横向”选项以横向方向打印报表。
2、在“页面设置”对话框,缩小上边距、下边距、左边距、右边距。
3、纵向显示所有报表对象。
(1) 将所有报表对象旋转270度,字段、文本、图片、页码等对象。
右击报表对象,选择"格式化",进入"格式化编辑器对话框"。选择"公用"选项卡,在"文本旋转"下拉列表框选择 270。
(2) 纵向拉长对象,确保纵向上可以容纳显示。
(3) 所有的节都要拉长,以容纳对象。
(4) 页标题放在右上角,页码放在左下角或右下角。
参考:
1、“公用”选项卡(“格式设置编辑器”对话框)
使用“公用”选项卡为所需字段设置如取消、水平对齐以及将对象保持在一起等属性。
2、文本旋转
该列表包括可用于所选字段的旋转选项。使用“文本旋转”选项垂直对齐报表上的字段和基于文本的对象。
代码控制方法:
水晶报表的宽度是由打印的纸张或横向、竖向打印来决定的。
你唯一能改的就是页边距来调整下,不过这个调整也调整不了多少的。
修改页边距方法:
private void PrintReport(string printerName)
{
PageMargins margins;
//Mondify By LiFuyun
// 获取 PageMargins 结构并设置
// 报表的边距。
margins = Report.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
//应用页边距。
Report.PrintOptions.ApplyPageMargins(margins);
// 选择打印机。
Report.PrintOptions.PrinterName = printerName;
// 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
Report.PrintToPrinter(1, false,0,0);
}
自带的方法:
在你创建的.rpt文件上点击右键“报表”菜单上,单击“节专家”,突出显示“详细资料”,然后选择“多列格式化”,“节专家”中将添加一个“布局”选项卡。点击“布局”标签页就可以设置报表的宽度了。但是这是多列数据情况下设置。
例如,如果“详细资料”节中有三个字段,占了四英寸宽的空间,那么应将列宽限定在四点五英寸之内,以便能够看到所有字段信息。
设置希望在列中每条记录之间保留的“水平”和/或“垂直”间距。
在“打印方向”区域中选择一个方向。
如果正在格式化的报表包含分组,则选择“格式化带有多列的组”。
单击“确定”。
预览报表时将会看到只显示了第一列的字段标题。要显示第二列的字段标题,请插入一个文本对象。
以上供个人收藏和大家分享,自己这些日子研究水晶报表头都炸了,还好网上资料能收集!所以我研究过的希望给大家一点灵感和发现,避免走弯路!有任何问题请联系我!
参数
- nCopies
- 指明要打印的份数。
- collated
- 指明是否逐份打印。
- startPageN
- 指明要打印的第一页。
- endPageN
- 指明要打印的最后一页。
备注
若要打印所有页,请将 startPageN 参数和 endPageN 参数设置为零。
评论回复