如何动态增加水晶报表中公式字段的宽度
本文关键字:字段 报表 水晶 何动态 动态 增加 | 更新日期: 2023-09-27 18:10:27
我在我的web应用程序中使用水晶报告,它正在动态加载;也就是说,它只显示那些整行不为空的列。参数的值将在运行时设置。
最终报告的设计将如下所示
param1 param2 param 3 param4
@formula1 @formula2 @formula3 @forumula4
其中param1,param2,...
为参数,显示列标题,@formula1,@formula2,@formula3
为公式字段,显示详细字段。
@formula1的详细信息如下
if {?param1}="EventName" Then {dtHealth.EventName}
Else If {?param1}="Location" Then {dtHealth.Location}
Else if {?param1}="CashsafeSerialNo" Then {dtHealth.CashsafeSerialNo}
这里param1
有可能是EventName
或Location
。我想在crystalreport运行时设置公式字段的宽度;例如
if param1="EventName"
@formula1.width=100px;
else if param1="Location"
@formula1.width=200px
我不确定,但是这个"Can Grow"选项会帮助你。您不能应用或良好的增长宽度尽可能覆盖近场。我建议给出固定的宽度,并给出可以在高度动态扩展的增长选项。这很好。
我的其他建议是,如果它是一个单行数据显示。然后创建detail子节,并将字段放入其中,并在section expert中勾选"Keep together"
http://www.accoladepublications.com/Crystal-Reports-Tips-and-Tricks/303-auto-grow-fields.html http://www.codeproject.com/Questions/105407/How-to-expand-a-field-in-Crystal-Reports我设法使这个工作如我想要的:
我正在编辑一个别人做的报告,他们有大约21个被抑制的集合列,如果为null,我需要一个顶部描述性列,它的大小增长到非抑制字段:
。在以下布局中,任何列b-g都可能被抑制:
----------------------------------
| ID | Dynamic width column |
---------------------------------
| | a | b | c | d | e | f | g |
----------------------------------
| 1 | Data --> |
----------------------------------
- 确保"Can grow"未勾选
- 确保"保持在一起"是取消勾选
将你的动态列设置为你想要覆盖的第一个单元格的宽度,宽度公式添加到现有的宽度,它不显式设置值。
计算宽度公式中非空白列的数量,并乘以子列的大小(1cm=~567 twips):
NumberVar ColumnCount;
ColumnCount := 0;
If not isnull({Column.TextA}) then
ColumnCount := ColumnCount + 1 ;
If not isnull({Column.TextB}) then
ColumnCount := ColumnCount + 1 ;
ColumnCount * 450;
好了,你应该得到一个宽度扩展到非空列大小的列