Lenka.Guo 发表于 2021-8-23 17:36:22

如何在运行时修改报表的纸张尺寸

背景信息
报表在初始化设计时,默认纸张尺寸为A4纸,我们可以根据实际要打印或者展示的媒介,在运行时修改纸张的宽度,以保证所有信息可以在一页或者按照指定的页数渲染。
但是由于报表纸张不支持表达式,因此无法在运行时动态根据表达式来指定,我们可以在报表展示前,动态修改报表纸张的宽度和高度,以实现运行时修改报表纸张宽度。


解决方法:

1. 新建项目


2. 新建报表文件 默认为A4


3. 在加载报表时,New Report对象


4. 修改Report对象的PageWidth 及Page Height
      private void viewer1_Load(object sender, EventArgs e)
      {
            GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
         
            GrapeCity.ActiveReports.Document.PageDocument rptd = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
            rptd.PageReport.Report.PageWidth = "5cm";
            rptd.PageReport.Report.PageHeight = "3cm";
            this.viewer1.LoadDocument(rptd);

      }



如果是 JSViewer MVC 项目或Web项目都可参考步骤4 中的代码,在New报表对象后去修改纸张的宽度和高度。


页: [1]
查看完整版本: 如何在运行时修改报表的纸张尺寸