为水晶报表中的页面/部分动态设置高度和宽度
Posted
技术标签:
【中文标题】为水晶报表中的页面/部分动态设置高度和宽度【英文标题】:Set height and width dynamically for page/section in crystal report 【发布时间】:2015-10-06 18:43:57 【问题描述】:我正在使用水晶报表打印详细信息。打印时有两个问题。
-
为部分详细信息动态设置高度/宽度
我想通过代码动态更改部分的高度和宽度。这个高度和宽度将来自用户设置,所以我需要它们是动态的。当我检查时,有一个选项可以以编程方式设置截面高度,但它不起作用。我正在使用下面的代码来设置部分高度
ReportDocument rd = new ReportDocument();
Section section = rd.ReportDefinition.Sections["Section3"];
section.Height = 1;
当我使用此代码时,它给了我错误“System.Runtime.InteropServices.COMException:节高无效。”
我还想动态设置“细节之间的差距”。有可能吗?
-
动态设置页面内容高度
我想动态设置页面内容高度。我们可以从设计->页面设置->页面选项->设置水平和垂直值设置页面高度和宽度。
在我的情况下,我正在使用水晶报告 tp 打印条形码。当页面高度很大时,它会打印我不想要的空条形码。我想根据要打印的条形码数量设置页面内容高度。我该怎么做?
谁能帮我解决这两个问题?
【问题讨论】:
【参考方案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;
试试这个,好吗?
【讨论】:
以上是关于为水晶报表中的页面/部分动态设置高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章