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

  • No labels