次のソース・コードを使用して、FLDVIS02という名前の再利用可能パーツを作成します。これにより、DEPTMENTのピックリストの内容が用意されます。
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_OBJT *implements #Prim_dc.iDynamicPicklist)
Mthroutine Name(Load) Options(*redefine)
#Picklist.RemoveAll
Select Fields(*all) From_File(Deptab)
#Picklist.Add( #Deptment #Deptdesc )
Endselect
Endroutine
End_Com
オプションを使用して、動的ピックリストを追加します。プロンプタから、FLDVIS02を選択します。
次のコードがビジュアライゼーションのソース・コードに追加されます。
Begin_Com Role(*Dynamic_Picklist #FLDVIS02) Name(#DynamicPicklist)
End_Com
Begin_Com Role(*Visual #PRIM_EVPL) Name(#VisualPicklist) Appearance(DropDownList) Componentversion(1) Height(19) Width(209)
End_Com
動的か静的かにかかわらず、すべてのピックリストではNoMatchActionプロパティを設定して、基になるフィールド値がピックリストになかった場合を定義する必要があります。多くの場合、ShowValueが最善の選択肢となります。
これで、新しいVisual_host再利用可能パーツを次のように使用できます。
Define_Com Class(#Deptment.VisualPicklist) Name(#...)