Crystal Reports でデータによって枠線を表示したり非表示したり、または枠線の色を変えたりしたい。

Crystal Reports には線オブジェクトやボックスオブジェクトが用意されているが、データによってスタイルを変えたい場合は、線オブジェクトやボックスオブジェクトの代わりにフィールドオブジェクトの境界線を利用する。

まず、デザイン画面で適当なフィールドオブジェクトを貼り付け大きさを合わせる。
crystral-reports-border1

次にフィールドオブジェクトで右クリックし、書式エディタの「フォント」タブの「色」で背景色と同じ色を選ぶ。ここでは白を選んだ。
crystral-reports-border2

さらに「境界線」タブの「線のスタイル」で、上下左右を「単一線」などを選ぶ。また、「色」の「境界線」の右側にあるボタンをクリックする。
crystral-reports-border3

ここでデータに応じて線の色を変えるように式を記述する。crWhiteを返すことで背景色と同じ色となり、非表示の代用とできる。
crystral-reports-border4


ここでは以下のように記述した。
if ({CrystalReportsTest2_Class1.Prop1} = "26"
 or {CrystalReportsTest2_Class1.Prop1} = "27") then
  crBlack
else
  crWhite

出力結果は以下のとおり。 crystral-reports-border5

以上。