4D リストボックスの任意のセルに色を付ける

リストボックス : 文字に色を付ける方法

行全体が同じ色でいいなら、プロパティで「行フォントカラー配列」に、たとえば名前が「vCH01_lstCH_FontColors」のようなlongintの配列を用意して、プロパティに指定します。同様に背景色も行単位で指定することができます。

listbox_properties

それでは、この行のこの列だけ赤色で表示したい、場合はどうすればいいのでしょうか。次です。

1.リストボックスのオブジェクトプロパティで「マルチスタイル」をチェック

listbox_column_properties

2.表示列は文字列で宣言

ARRAY TEXT(vCH01_lstCH_DATEstr;0)

3.次のソースを追加

// 20160321 wat 会社は赤色で表示

C_POINTER($pColumn3)

$pColumn3:=OBJECT Get pointer(Object named;”vCH01_lstCH_DATEstr”)

C_LONGINT($sizeOfAry;$i)

$sizeOfAry:=Size of array(vCH01_lstCH_DATEstr)

For ($i;1;$sizeOfAry)

If (vCH01_lstCH_KUBUN{$i}=”会社”)

$pColumn3->{$i}:=”“+String(vCH01_lstCH_DATE{$i})+”

Else

$pColumn3->{$i}:=”“+String(vCH01_lstCH_DATE{$i})+”

End if

このように、リストボックスの列にマルチスタイルに指定すると、セルごとに異なるHTMLタグを指定/表示できるようになります。

listbox_color

例では、vCH01_lstCH_DATEstrの列を表示して、日付型であるvCH01_lstCH_DATE列は非表示にしています。

元のサンプルは4D社からv13のソースを入手、v15でも動作確認済みです。