条件特性属性测试两个或多个条件中的哪一个得到满足。然后程序应用该条件对应的格式设置。例如,假定希望低于配额的值以红色打印,而其它所有值以黑色打印。本程序测试某个值是否低于配额。如果它低于配额,则应用红色特性;如果不低于配额,则应用黑色特性。
使用 If-Then-Else 公式来进行这种条件格式设置。
Crystal 语法示例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
crBlack
在创建条件特性属性的公式时,Crystal Reports 在“公式”视图中的公式注释区域中显示选择的一组特性。可以在公式中使用任何这些特性。例如,如果正在按条件设置背景颜色,则选择的特性包含可使用的每种颜色的特性。如果正在按条件设置边框,则选择的特性将包含诸如 crSingleLine、crDoubleLine、crDashedLine、crDottedLine 和 crNoLine 之类的特性。
注意: 在条件公式中始终要包括 Else 关键字;否则,不符合 If 条件的值可能不会保留其原始格式。若要保留不符合 If 条件的值的原始格式,请使用 DefaultAttribute 函数。DefaultAttribute 函数返回在“属性”视图中设置的格式设置属性的值。
Crystal 语法示例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
DefaultAttribute
可以进一步利用这种属性。您可以指定一个条件列表,每个条件一个属性;即并不只限于两个条件。例如,如果您的报表上有一个数字字段,其内包含来自世界各国的销售数字,则可以指定要应用于各个国家的数字特性。这种情况下,您的条件可以指定如果数字来自 A 国,则程序应当应用 A 国特性;如果来自 B 国,则应用 B 国特性;如果来自 C 国,则应用 C 国特性,以此类推。
对于两个以上可选条件,使用这种公式:
Crystal 语法示例
If {CUSTOMER.Country} = "Canada" Then
crRed
Else If {CUSTOMER.Country} = "England" Then
crBlack
Else If {CUSTOMER.Country} = "Australia" Then
crGreen
Else
crBlue
使用多条件的 If-Then-Else 公式来进行这种条件格式设置。