アプリケーションを作成している中で、表の行の色をフィールド値によって変更したいことはありませんか?
本日は、表のセルの色をアプリケーションで変更する方法をご紹介します。
表のプロパティには、表のセルの「色」をプログラムから指定する項目はありません。
しかし、セルの「イメージ」をプログラムから指定する項目はあります。
今回ご紹介する方法では、画像をタイル状に表示して、擬似的にセルの色を変更しています。
下図のデモアプリケーションでは、ラジオボタンの値によって行の色が変更されるようになっています。
「OK」の時、スカイブルー。「NG」の時、ピンクに変わります。
作成方法
1. フィールドの準備
ラジオボタンなどの選択肢のフィールドを用意します。
この時「キーワードの変更時にフィールドを更新」を有効にしておきます。
これでキーワードを変更するとフォームの再計算が実行されます。
2. イメージのインポート
変更したい色に使う画像ファイルを用意し、リソースのイメージにインポートしておきます。
(今回は、縦横50ピクセルの画像ファイルを用意しました)
3. 表のプロパティの設定
表のプロパティの「表/セルの背景」タブを開きます。
「イメージ」の「ソース」にある「@」ボタンをクリックして表示するイメージの条件式を入力します。
条件式の結果には、手順2でインポートしたイメージリソースの名前を指定します。
例
@If( check_1 = "OK" ; "skyblue.png" ; check_1 = "NG" ; "pink.png" ; "" )
まとめ
ラジオボタンを例にあげていますが、チェックボックスやダイアログリストなど他の選択肢でも同様に可能です。
また、少し工夫すればボタンやホットスポットなどのアクションからも作成できます。
擬似的な方法ですが、表の色をプログラムから変更できるのは便利です。
よかったら使ってみてください。