Style プロパティ

LANSA

Style プロパティ

Styleではコレクションが存在しないキーでアクセスされた場合にどうするかを指定します。

コレクションがコレクション内に存在しないキーでアクセスされた場合にどうするかをStyleプロパティに指定します。 このパラメータは、次のいずれかの値を取ることができます。

FACTORY コレクションに存在しないキーを使ってコレクションがアクセスされた時に、Collectsプロパティにより指定されたタイプのコンポーネントの新しいインスタンスを作成したい場合はこの値を使用します。 この新しい項目はキーに関連付けられ、コレクションに格納されます。 FactoryはStyleプロパティの省略値です。

COLLECTION コレクションに存在しないキーを使ってコレクションがアクセスされた時に、*NULL値の参照を返したい場合はこの値を使用します。 このコレクション・スタイルを使用する場合、SET_REFやIF_REFコマンドを使ってコレクションの処理を行う必要があります。 このスタイルのコレクションではPRIM_OBJTなどの抽象的なクラスをコレクトすることができます。 コレクションはコンポーネント・インスタンスを作成しないので、Visual LANSAアプリケーションによりインスタンスを作成したり、適切なキーを使ってコレクション内にインスタンスを割り当てたりします。

例:

DEFINE_COM CLASS(#PRIM_KCOL) NAME(#FORM_COL) COLLECTS(#PRIM_FORM) KEYEDBY(#EMPNO) STYLE(Collection)

 

IF full time employee

SET_REF COM(#FORM_COL<#CUR_EMPLNO>) TO(*CREATE_AS #FORM_FT)

 

if part time employee

SET_REF COM(#FORM_COL<#CUR_EMPLNO>) TO(*CREATE_AS#FORM_PT)

 

else

if contract employee

SET_REF COM(#FORM_COL<#CUR_EMPLNO>) 
TO(*CREATE_AS #FORM_CT) 
endif 
endif 
endif
 

注: #FORM_FT、#FORM_PT、FORM_CTは全てPRIM_FORMから継承するVisual LANSAフォームです。