Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > インスタンスリストとインスタンスリスト・マネージャー > 複数の種類のオブジェクトがあるインスタンスリスト > 子の追加 (VLF-ONE の場合)
子の追加 (VLF-ONE の場合)

 

VLF-ONE では、当然のことながらインスタンスリストの各エントリーに一意のキーが必要です。

しかし、親と子リスト・アイテムの関係はとても簡単に作ることができます。

以下はその例です。

* 一時的に社員データ・アイテムを保存するための参照を定義

Define_Com Class(#VF_LM003O) Name(#ParentEmployeeItem) Reference(*DYNAMIC)

* 親の社員エントリーを取得し、#VF_LM003O アイテム参照を返す

#avListManager.AddtoList Akey1(#Empno) Visualid1(#Empno)

               Visualid2(#GiveName+ #SurName)

               Dataitem(#ParentEmployeeItem)

* この社員にスキルの子アイテムを追加

社員 #Empno が持つスキルごとに繰り返す

* 追加された社員の子としてスキルのインスタンスリスト・エントリーを追加

#avListManager.AddtoList Akey1(#Empno) Akey2(#SKILCODE)

                         Visualid1(#Skilcode) Visualid2(#SkilDesc)

                         ParentDataItem(#ParentEmployeeItem)

Endfor

以下に注意してください。#VF_LM003O アイテム参照を処理する際は、これらの参照を保管しないでください。アプリケーションがリークする恐れがあります。この参照がコード内で全体的に検査される場合は、使用後には必ず*NULL に設定するようにしてください。 

このサンプルは、提供されている例 Examples -> Advanced -> Children を参照してください。

VLF-ONE のツリー・ビジュアライゼーションは VLF-WIN と異なることに注意してください。

親と子を別の方法で表示したい場合、(提供例 Person のように) カスタム・パネルのリストを作成する、もしくは独自のカスタムのインスタンスリスト・ブラウザを作成し、スナップ・インします。

親子リレーションをうまく利用するには、以下に注意してください。

1.

ビジネス・オブジェクトは、親と子のそれぞれに対して定義する必要があります。

 

例えば、提供されている VLF-ONE の Children 例では、親が PARENT_PRODUCT、子は CHILD_ORDER および CHILD_SUPPLIER です。

 

2.

親と子のリレーションは、親の [インスタンスリストの設定] タブで定義する必要があります。

 

例えば、提供されているデモの PARENT_PRODUCT には、次のようなリレーションが定義されています。

3.

インスタンスリストにアイテムを追加する時、ユーザー・オブジェクト名と親アイレムを指定する必要があります。

 

インスタンスリストへのアイテム追加時、以下を指定してください。

AddToList メソッドの Businessobjecttype() パラメーターにユーザー・オブジェクト名

アイテムが子の場合、ParentDataItem() パラメーターに親アイテム