このステップでは、選択した部門の社員を表示する詳細コマンド ハンドラーを作成します。
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. コマンド・ハンドラーをテストします。