Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > インスタンスリストとインスタンスリスト・マネージャー > インスタンスリストに列を追加 > IColumn
IColumn

http://docs.lansa.com/14/EN/lansa048/content/resources/images/lansa/vlf%20one.png

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 を参照してください。