Visual LANSA フレームワーク ガイド > チュートリアル > VLF-WIN アプリケーションのチュートリアル > VLF011WIN - 親子インスタントリストの作成 > ステップ 3. "部門" に非表示フィルターを作成
ステップ 3. "部門" に非表示フィルターを作成

このステップでは、ナビゲーション・ペインで "部門" ビジネス・オブジェクト選択時に、部門をインスタンスリストにロードする非表示フィルターを作成します。非表示フィルターはエンドユーザーとの対話処理はなく、表示されません。

1.   Visual LANSA エディターを表示します。

2.   再利用可能パーツを作成します。フィルター名としてiiiCOM08、説明に部門非表示フィルターと指定します。(ここで iii は入力者のイニシャルです。Visual LANSA の非ライセンス版または試行版を使っている場合は、DEMCOMnn の形式にする必要があります)。

3.   [詳細] タブで、再利用可能パーツの [Ancestor] に VF_AC007 を指定します。

 

4.   [ソース] タブを表示します。  

5.   BEGIN_COM ステートメントの後に次の uInitialize ルーチンを作成します。

Mthroutine Name(uInitialize) Options(*Redefine)

Endroutine

 

オートコンプリート・プロンプター をオンにした場合は、Endroutine ステートメントが自動的に作成されます。

 

6.   uInitialize ルーチンで、フィルターを非表示にし、実行時に表示されるものをインスタンスリストだけにします。

Set #Com_Owner avHiddenFilter(TRUE)

 

7.   次に、インスタンスリストの更新がまもなく開始され、その後インスタンスリストがクリアされることを指定します。

Invoke #avListManager.BeginListUpdate

Invoke #avListManager.ClearList

 

8.   全ての部門を読み込み、インスタンスリストに追加します。

 

Select Fields(#xDepartmentCode #xDepartmentDescription) From_File(xDepartments)

Invoke Method(#avListManager.AddtoList) Visualid1(#xDepartmentDescription) Visualid2(#xDepartmentCode) Akey1(#xDepartmentCode) Ncolumn1(0) Acolumn1('') Acolumn2('') Acolumn3('') Acolumn4('') Acolumn5('') Acolumn6('') Acolumn7('')

Endselect

 

注:AddToList で追加列を初期化する必要があります。これは、後で社員のエントリーをこれらの列に取り込んだリストを生成するからです。

9.   最後に、インスタンスリストの更新がこれで完了したことを示します。

Invoke #avListManager.EndListUpdate

コードは以下のようになります。

10.   フィルターをコンパイルします。

11.   フレームワーク、次に "部門" オブジェクトのプロパティを表示します。

12.   [フィルター] > [フィルター登録の設定] タブを表示します。

13.   VLF-WIN コンポーネントの識別子として iiiCOM08 の識別子を指定します。

 

14.   "部門" の'プロパティを閉じます。

15.   "社員" ビジネス・オブジェクトをクリックして、次に "部門" をクリックすると、非表示フィルターがインスタンスリストに部門をロードします。

 

16.   部門を展開します。社員がロードされていないことに注目してください。次のステップで、社員をロードするリレーションシップ・ハンドラーを作成します。