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

  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. コマンド・ハンドラーをテストします。
  • No labels