現在地: Visual LANSA 開発者ガイド > 1. アプリケーション、フィールド、データベース、リポジトリの概要 > 1.5 フィールドの作成 > UsePicklist
UsePicklist

フィールド名

STD_NUM

説明

STD_NUMフィールドを例として、UsePicklistの動作を説明します。

PRIM_EVEF、PRIM_EVSE、PRIM_GDCL、PRIM_LVCL、PRIM_TVCLにはいずれも、UsePicklistというプロパティがあります。これは設計時にのみ必要となるプロパティです。コンポーネントの表示方法について、フィールドに別途指定したピックリストを援用するかどうか、切り替える役割があります。

例:数値フィールドの表示方法として「PRIM_EVSE(SpinEdit)」が定義され、さらにピックリストも指定されているとしましょう。UsePicklistプロパティがFALSEであれば、スピン編集ボックスの形で表示したとき、所定の数値範囲にわたって値を調整するという、普通の使い方ができるようになります。一方、TRUEであれば、ピックリストに列挙されている値を順に切り替える、という使い方になります。

このプロパティの目的は、旧版との互換性を維持しながら新しい機能も使えるようにすることです。旧コンポーネントもUsePicklist = FALSEであれば従来通りの動作をする一方、新しいコンポーネントをUsePicklist = TRUEとすれば、新たな機能が使えるようになるのです。

詳細

フィールド・コンポーネントのソースに、下記に示す、フィールドのソースを追加してください。いったんフィールドを保存し、スピン編集ビジュアライゼーションを使用します。

フィールドのソース

Begin_Com Role(*EXTENDS #PRIM_OBJT)

 
Begin_Com Role(*Visual #PRIM_EVEF) Name(#VisualEdit) Height(19) Usepicklist(False) Width(262)
 
End_Com
 
Begin_Com Role(*Visual #PRIM_EVSE) Name(#VisualSpinEdit) Defaultvisual(True) Height(19) Usepicklist(False) Width(262)
 
End_Com
 
Begin_Com Role(*picklist) Name(#Picklist)
 
Define_Com Class(#PRIM_PKIT) Name(#Item_1) Caption('Item 1') Default(True) Parent(#Picklist) Value(1)
Define_Com Class(#PRIM_PKIT) Name(#Item_2) Caption('Item 2') Parent(#Picklist) Value(2)
Define_Com Class(#PRIM_PKIT) Name(#Item_3) Caption('Item 3') Parent(#Picklist) Value(3)
Define_Com Class(#PRIM_PKIT) Name(#Item_4) Caption('Item 4') Parent(#Picklist) Value(4)
Define_Com Class(#PRIM_PKIT) Name(#Item_5) Caption('Item 5') Parent(#Picklist) Value(5)
 
End_Com
 
End_Com

 

フォームのソース(UsePicklist = FALSEの場合)

Function Options(*DIRECT)

 
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(108) Clientwidth(492) Height(135) Left(304) Top(155)
 
Define_Com Class(#STD_NUM.Visual) Name(#STD_NUM) Displayposition(1) Left(96) Parent(#COM_OWNER) Tabposition(1) Top(32)
 
End_Com

 

外観(UsePicklist = FALSEの場合)

フォームのソース(UsePicklist = TRUEの場合)

Function Options(*DIRECT)

 
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(108) Clientwidth(492) Height(135) Left(304) Top(155)
 
Define_Com Class(#STD_NUM.Visual) Name(#STD_NUM) Displayposition(1) Left(96) Parent(#COM_OWNER) Tabposition(1) Top(32) Usepicklist(True)
 
End_Com

 

外観(UsePicklist = TRUEの場合)