Visual LANSA フレームワーク ガイド > チュートリアル > VLF-WIN アプリケーションのチュートリアル > VLF012WIN - 切り替えサービスおよび仮想クリップボードを使用したナビゲーション制御 > ステップ 2. "部門" の "詳細" コマンド・ハンドラーを作成
ステップ 2. "部門" の "詳細" コマンド・ハンドラーを作成

このステップでは、選択した部門の社員を表示する詳細コマンド ハンドラーを作成します。

1.  パネル・タイプの再利用パーツを作成します。コマンド・ハンドラー名として iiiCOM10、説明に部門の詳細と指定します(ここで iii は入力者のイニシャルです。Visual LANSA の非ライセンス版または試行版を使っている場合は、iii の部分を DEM とする必要があります)。ターゲット・プラットフォームを Windows/IBM i/Linux にします。

2.   コンポーネントの [詳細] タブをクリックし、[Ancestor] は VF_AC010 にします。

 

最初に、コマンド・ハンドラー上のコントロールの配置を制御するレイアウト・マネージャをコマンド・ハンドラーに追加します。

3.   エディターの [レイアウト] リボンを表示させます。

4.   テーブル・レイアウト・マネージャでこの再利用可能パーツ  に 1 行、2 列を追加します。

 

 

5.   左の列を広くします。

コマンド・ハンドラーは、次のようになります。

 

6.   [コントロール] タブを表示します。

7.   グリッド・コントロールを左の列にドラッグ・アンド・ドロップします。

8.   [レイアウト] リボンを選択して、グリッドのサイズを [両方に合わせる] にします。

これで、フレームワークの残りが自動的にサイズ調整されるコマンド・ハンドラーが作成されました。例えば次のようになります。

 

9.  リポジトリ内の xEmployee テーブルを表示し、展開します。

10.   フィールド xEmployeeIdentification、xEmployeeSurname、XEmployeeGivename をリストにドラッグします。

11.   名前の列見出しをクリックして、選択します。[詳細] タブでこのコンポーネントのプロパティを展開して、WidthType を Remainder にします。

12.   グリッドの SelectionStyle を WholeRow に設定します。

 

これで、コマンド・ハンドラーに社員グリッドを生成するコードを記述できます。

13. uExecute メソッドを追加します。このメソッドはコマンド・ハンドラーに関連付けられているフレームワーク・コマンドをユーザーが実行すると常に呼び出されます。

Mthroutine Name(uExecute) Options(*REDEFINE)

Endroutine

 

 

 uExecute メソッドで次のことを行います。

 14.  GetCurrentInstance メソッドを使用して現在の部門と課を取得します。

Invoke #avListManager.GetCurrentInstance AKey1(#DEPTMENT) AKey2(#SECTION)

15.   社員グリッドをクリアします。

Clr_list #Grid1

 

16.    最後に、xEmployeeByDepartment インデックスからこの部門に所属する社員を選択し、グリッドに追加します。

Select Fields(#xEmployeeIdentification #xEmployeeSurname #xEmployeeGivenNames) From_File(xEmployeeByDepartment) With_Key(#xDepartmentCode) Nbr_Keys(*Compute) Generic(*yes)

Add_Entry To_List(#Grid1)

Endselect

これで、コードは以下のようになります。

17.   このコマンド・ハンドラーをコンパイルします。

18.   "部門" オブジェクトのプロパティを表示して、[使用可能コマンド] タブで "部門" ビジネス・オブジェクトの詳細コマンドのコマンド・ハンドラーをその識別子を使ってスナップします。

19.   コマンド・ハンドラーをテストします。