Oracle ApexでCRUD画面を爆速開発 - その6（Classic Reportのレコード条件に応じて行の背景色を変える） 



# シリーズ
[Oracle ApexでCRUD画面を爆速開発 - その1（構成周り、一覧表示）](https://qiita.com/harukb/items/bad041174f59a9f07141)
[Oracle ApexでCRUD画面を爆速開発 - その2（詳細表示）](https://qiita.com/harukb/items/d4996b5a9a11ee2f3165) 
[Oracle ApexでCRUD画面を爆速開発 - その3（登録/更新処理,Validation,アクセス制限など）](https://qiita.com/harukb/items/f63c9035de34282320d6) 
[Oracle ApexでCRUD画面を爆速開発 - その4（選択リストの内容で一覧表示内容を更新させる）](https://qiita.com/harukb/items/7b86706f010f886b89f0) 
[Oracle ApexでCRUD画面を爆速開発 - その5（Classic Reportのヘッダの上にグループヘッダ行を作る）](https://qiita.com/harukb/items/2746a766228da48c93ed)


# 今回の主な内容
- Classic Reportのレコード条件に応じて行の背景色を変える

# Classic Reportのレコード条件に応じて行の背景色を変える

※　前回に続いて、Excelだと簡単にできるんだけどなぁと~~言われちゃう~~思っちゃうこういうヤツです。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/761531cd-d5e4-004e-aca2-2b29558bbf22.png)|
|:-:|


## Template(Standard)のコピー
※ ここは前回と重複しています。
※ デフォルトでReportに設定されているStandardをコピーして作成したStandard2に対して内容変更をします。

1 Shared Component>Templateを開きます。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/e2accfc6-1cb4-45d9-a2a3-775f0e05d12d.png)|
|:-:|

2 下の方にスクロールするとType:Report Name:Standardが見つかります。

|!![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/e32bc81f-4cba-f2c3-9f98-774c183b2326.png)|
|:-:|

3 対象行の右側にある「Copyボタン」をクリックし開かれたダイアログでコピー先名称を入力します。終わったら「Copy」ボタンをクリックします。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/5712f8ab-c0dd-6a42-2e2d-ccf344b7a79a.png) |
|:-:|

4 "Standard2"が作成されたことを確認します。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/f4702e14-e51e-cf60-68fb-383481034d33.png)|
|:-:|

## テンプレート(Standard2)の修正

1 作成したStandard2テンプレートを開き、"Column Templates"項目を探します。ルールは複数設定できます。今回は"Column Template 1"(特定条件用の書式用),"Column Template 2（それ以外の書式用）"
に設定しましょう。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/2ba324ae-82ee-9f0f-7f4f-68c21993452c.png)|
|:-:|

2-1 "Column Template 1"部分を元コードから以下のコードに書き換えます。

"Column Template 1"

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/06de51bf-d937-60bd-a90d-fc8d3b6bb38a.png)|
|:-:|

Column Template 1
`<td style="background-color:orange;" class="t-Report-cell" #ALIGNMENT# headers="#COLUMN_HEADER_NAME#">#COLUMN_VALUE#</td>`

Column Template 1 Condition
"Use Based on PL/SQL Expression"を選択

Column Template 1 Expression
`:JOB = 'SALESMAN'`

2-2 "Column Template 2"部分を空白から以下のコードに書き換えます。

"Column Template 2"

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/add8b34f-38ef-955e-22cb-111465651c77.png)|
|:-:|


Column Template 2
`<td style="background-color:white;" class="t-Report-cell" #ALIGNMENT# headers="#COLUMN_HEADER_NAME#">#COLUMN_VALUE#</td>`

Column Template 2 Condition
設定なし

Column Template 2 Expression
設定なし


3 右上の「Apply Changes」で保存し、新しいテンプレートを適用させたいClassicReportに戻る。

## テンプレート(Standard2)の適用
※ここは前回と重複しています。

1 対象のClassic Reportの"Attribute"をクリック。"Appearance"にてTemplateを"Standard2"に変更。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/ce73ecfb-b3c7-2522-af0c-58b44f70bec2.png)|
|:-:|

↓

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/71650749-1295-dbef-a965-e0e61b4f3d76.png) |
|:-:|

2 Saveして実行
※条件に応じて背景色が変わりました。条件を追加することも簡単にできそうですね。


|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607651/4d8164a6-4705-a44e-fc79-2daa0eea1ab0.png)|
|:-:|