條件式屬性內容會測試兩個或多個條件,以查看何者符合。程式接著會套用適合該條件的格式化。例如,假設您要以紅色列印低於某配額的數值,而以黑色列印所有其他的數值。程式就會測試數值是否低於該配額。如果數值低於配額,則套用紅色屬性,否則便套用黑色屬性。
這種條件式格式化請使用 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 公式。