运行时是否可以将Crystal Report中的字段移动到另一个位置?

| 我正在为各种客户生成发票。一些客户有销售津贴。对于这些客户,我想显示一个额外的销售津贴单位和总费用列。 如果任何最大销售成本总计为= 0,我想将字段移到左侧并在右侧显示销售津贴 当客户有销售津贴时
------------------Headings extend all the way across the report-----------------------------

Description   Qty    UOW      Client Unit Cost   Client Cost    Sales Unit Cost   Sales Cost
============================================================================================
Something       5   Each                $11.00        $55.00              $5.00       $25.00
More Stuff      2   Each                $20.00        $40.00              $5.00       $10.00
============================================================================================
Totals                                                $55.00                          $35.00
当客户没有销售津贴时
------------------Headings extend all the way across the report-----------------------------

Description                                   Qty    UOW      Client Unit Cost   Client Cost
============================================================================================
Something                                       5   Each                $11.00        $55.00
More Stuff                                      2   Each                $20.00        $40.00
============================================================================================
Totals                                                                                $95.00
我们的目标是将该功能放到单个报表中,而不必知道在何时以及何时获得销售津贴的情况下为哪个客户运行哪个报表。 我知道我们可以禁止使用字段,当我尝试合并时,根据放置字段的位置,中间的右边会出现空格,结果是不可接受的。满足条件时,是否可以将字段移动到其他LEFT位置?这将是整个报告,而不是在每个详细记录上均被评估。     
已邀请:
如果创建两个标题部分和两个详细信息部分,并在每个字段中包含所需的字段和标题,则会更容易。根据sales-allowance字段(Isnull({table.sales_allowance})中是否存在值来抑制相关的标题/详细信息部分。如果无法确定,请使用参数字段来驱动抑制公式。 **编辑** 该报告将包含两个标题部分(HA和HB)和两个详细信息部分(DA和DB)。 HA和DA结合使用,HB和DB结合使用。为有销售津贴的客户使用“ A”集;不为客户使用\'B \'集。将相关字段添加到每个节和标题中;空间相应。 将HA和DA的抑制公式设置为:
//suppress section if there IS NOT a sales allowance
Not(Isnull({table.sales_allowance}))
将HB和DB的抑制公式设置为:
//suppress section if there IS a sales allowance
Isnull({table.sales_allowance})
您无需使用此方法抑制任何单个字段,从而消除了间距问题。 **编辑** 虽然Crystal报表对象确实具有X(左),Y(上),宽度和高度属性,但只有X和宽度支持条件公式(CF)。您可以通过将字段的X属性的条件公式设置为另一个值来移动字段。 但是,这种方法将很难维护。每个字段的CF都需要“记住”两个位置:可见和隐藏。此外,如果将来添加另一个字段,则需要检查每个“可移动”字段以确保其CF中的定位准确。     

要回复问题请先登录注册