【问题标题】:Set height and width dynamically for page/section in crystal report为水晶报表中的页面/部分动态设置高度和宽度
【发布时间】:2015-10-06 18:43:57
【问题描述】:

我正在使用水晶报表打印详细信息。打印时有两个问题。

  1. 为部分详细信息动态设置高度/宽度

我想通过代码动态更改部分的高度和宽度。这个高度和宽度将来自用户设置,所以我需要它们是动态的。当我检查时,有一个选项可以以编程方式设置截面高度,但它不起作用。我正在使用下面的代码来设置部分高度

ReportDocument rd = new ReportDocument();
Section section = rd.ReportDefinition.Sections["Section3"];
section.Height = 1;

当我使用此代码时,它给了我错误“System.Runtime.InteropServices.COMException:节高无效。”

我还想动态设置“细节之间的差距”。有可能吗?

  1. 动态设置页面内容高度

我想动态设置页面内容高度。我们可以从设计->页面设置->页面选项->设置水平和垂直值设置页面高度和宽度。

在我的情况下,我正在使用水晶报告 tp 打印条形码。当页面高度很大时,它会打印我不想要的空条形码。我想根据要打印的条形码数量设置页面内容高度。我该怎么做?

谁能帮我解决这两个问题?

【问题讨论】:

    标签: crystal-reports height width


    【解决方案1】:

    我添加了一个名为AutoHeight 的公式字段和一个名为Height 的参数字段,然后我将这段代码放入公式中:

    Local StringVar height = "";
    Local NumberVar i;
    For i:=1 to {?@Margin} do (
        height := height + Chr(10)+Chr(13)
    );
    height
    

    最后一步是将我的AutoHeight 公式放在我要控制的部分中,并选中属性Can grow

    【讨论】:

      【解决方案2】:

      我正在寻找如何解决这个问题。对我来说,这是可行的:

      ReportDocument rd = new ReportDocument();
      rd.ReportDefinition.Sections["Section5"].Height = 1000;
      

      试试这个,好吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多