IColumn (IColumn1 から 3) を使って、インスタンスリストにイメージを表示できます。これらは #PRIM_BMP オブジェクトの参照として追加する必要があります。
IColumns は VLF-ONE で実行されるビジネス・オブジェクトでのみ使用される場合が多いでしょう。イメージ列を含むインスタンスリストは、VLF-WIN、VLF-WAM、VLF-WEBEVENT のアプリケーション実行時にはサポートされません。
フィルターに IColumn イメージを追加するには、まず自身のフィルターに PRIM_BMP オブジェクトを定義します。
Define_Com Class(#prim_BMP) Name(#uImageEmployee) Reference(*DYNAMIC)
次に、Web サーバーのイメージ・ファイルまたは BLOB フィールドからイメージを作成します。
#uImageEmployee <= #SYS_APPLN.CreateBitmap( VLFONE/Images/other/cross.png )
または
#uImageEmployee <= #SYS_APPLN.CreateBitmap( #xEmployeeImageThumbnail )
そして、インスタンスリストにイメージを追加します。
#AVLISTMANAGER.AddtoList Visualid1(#xEmployeeIdentification) Visualid2(#xEmployeeTitle) ... Icolumn1(#uImageEmployee)
イメージ列は NUll 参照を受け入れます。これは、プロパティを指定しない場合と同じになります。IColumn1(*null) は、アイテムのイメージに変更が施されないことを示しています。
インスタンスリストのアイテムのイメージに NULL 値を指定したい場合は、特別に提供されているコンポーネント #UF_BMNULL への参照を指定する必要があります。
#AVLISTMANAGER.AddtoList Visualid1(#xEmployeeIdentification) Visualid2(#xEmployeeTitle) ... Icolumn1(#UF_BMNULL)
これにより、インスタンスリスト・アイテムのイメージが Null 値に変更され、ブランクとして表示されます。
行はイメージの高さにふさわしい高さに設定すると良いでしょう。これは、ビジネス・オブジェクトの定義、または実行時の初期化の際に次のように設定できます。
Set Com(#AVLISTMANAGER.avVisualList) Rowheight(50)
イメージの周りに余白を追加したい場合、初期化ルーチンで次のようなロジックを使うことができます。
#For Each(#Column) In(#AVLISTMANAGER.avVisualList.Columns)
If (#Column *Is #PRIM_LIST.Image)
(#Column *As #PRIM_LIST.Image).CellMarginTop := 2
(#Column *As #PRIM_LIST.Image).CellMarginBottom := 2
Endif
Endfor
この詳細は例 DF_T76F1O を参照してください。