Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Crystal报表中动态增加公式字段的宽度?_C#_Asp.net_Crystal Reports - Fatal编程技术网

C# 如何在Crystal报表中动态增加公式字段的宽度?

C# 如何在Crystal报表中动态增加公式字段的宽度?,c#,asp.net,crystal-reports,C#,Asp.net,Crystal Reports,我在我的web应用程序中使用Crystal Reports,它正在动态加载;i、 e.它只显示整行不为空的列。参数的值将在运行时设置 最终,报告的设计将如下所示 param1 param2 param 3 param4 @formula1 @formula2 @formula3 @forumula4 if {?param1}="EventName" Then {dtHealth.EventName} Else If {?param1}="Location"

我在我的web应用程序中使用Crystal Reports,它正在动态加载;i、 e.它只显示整行不为空的列。参数的值将在运行时设置

最终,报告的设计将如下所示

param1     param2     param 3      param4
@formula1  @formula2  @formula3    @forumula4 
if {?param1}="EventName" Then {dtHealth.EventName}
Else If {?param1}="Location" Then {dtHealth.Location}
Else if {?param1}="CashsafeSerialNo" Then {dtHealth.CashsafeSerialNo}
其中,
param1、param2、
是显示列标题的参数,
@formula1、@formula2、@formula3
是显示详细字段的公式字段

@formula1的详细信息如下

param1     param2     param 3      param4
@formula1  @formula2  @formula3    @forumula4 
if {?param1}="EventName" Then {dtHealth.EventName}
Else If {?param1}="Location" Then {dtHealth.Location}
Else if {?param1}="CashsafeSerialNo" Then {dtHealth.CashsafeSerialNo}
这里有一种可能性,
param1
可能是
EventName
Location
。我想在运行时设置crystalreport中公式字段的宽度;i、 e

if param1="EventName"
    @formula1.width=100px;
else if param1="Location"
    @formula1.width=200px
任何帮助都将不胜感激。

我不确定,但这个“可以成长”选项将帮助您。您无法应用或很好地尽可能增加宽度以覆盖近场。我所建议的是给固定的宽度,给可以增长的选项,动态地扩展高度。这很好

我的另一个建议是,它是否显示为一行数据。然后制作细节部分,并将字段放入其中,在部分中,专家勾选“保持在一起”


我成功地实现了我想要的功能:

我正在编辑其他人制作的一份报告,他们有大约21个设置列,如果为空,将被抑制。我需要一个顶部描述性列,该列的大小将增长到非抑制字段的大小:

e、 g.在以下布局中,任何b-g列都可能被抑制:

----------------------------------
| ID |     Dynamic width column  |
---------------------------------
|    | a | b | c | d | e | f | g |
----------------------------------
| 1  | Data -->                  |
----------------------------------
  • 确保“可生长”未勾选
  • 确保“保持在一起”是正确的 解开
  • 将动态列设置为要覆盖的第一个单元格的宽度,宽度公式将添加到现有宽度中,但不会显式设置该值

    计算宽度公式中非空白列的数量,并乘以子列的大小,单位为twips(1cm=~567 twips):


    好了,您应该获得一个宽度扩展到非空列大小的列。

    为什么需要此项。您可以设置一个默认宽度,并将
    自动宽度指定给要绑定该参数的控件。
    CanGrow
    不同,而
    AutoWidth
    不同。但请告诉我为什么需要此项。已更新问题。请检查一下。这是一个好问题。我不能告诉你有多少次我需要一个字段按宽度增长。我手头没有Crystal的副本可供真正检查,但我相信你可以使用列宽样式公式中的SELECT语句来实现这一点。