You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

このステップでは、クライアントのビジュアル・フォームを作成します。これにより、Windows プログラムでサーバーとやり取りを行うことができるようになります。

  1. iiiFRM03 部門社員の表示という名前で新規の LANSA フォームを作成します。iii は一意の 3 文字です(同じ名前のフォームがすでにある場合は、iiiに対して別の文字セットを選択します)。

  2. リストビューを自身のフォーム上にドラッグします。

  3. フィールド FULLNAME と SKILDESC をこのリストビューにドラッグして、列幅を調整します。

  4. このリストビューの上にフィールド DEPTMENT をドラッグします。

  5. この DEPTMENT フィールドの右にプッシュ・ボタンをドラッグして、キャプションを "最新の情報に更新" とします。

  6. このプッシュボタンに Click イベントを追加します。

  7. このフォームの基本となるロジックは、ユーザーからの部門コード入力を受け入れ、RDMLX ファンクション iiiFN07 を呼び出し、その結果として社員リストを表示することです。iiiFN07 から返されたデータを保持する作業リストも必要となります。
    1. DEFINE_COM ステートメントの後に、作業リストとして WL_EMPSKL を定義します。このリストのキーワードは Entrys(*max)で、FULLNAME と SKILDESC フィールドが含まれます。

  8. プッシュ・ボタンのクリック・イベントにロジックを加えて、ファンクションを呼び出します。
    1. 作業リストをクリアします。
    2. フィールド DEPTMENT を交換します。
    3. ファンクション iiiFN07 を呼び出し、作業リスト WL_EMPSKL を渡します (データをリストに入れて返せるようにします)。
    4. 作業リストをループして、反復ごとにエントリーをリストビューに追加します。
      完了したコードは以下のようになります。

      Function Function Options(*DIRECT)
      Begin_Com Role(*EXTENDS #PRIM_FORM) Clientwidth(484) Clientheight(301) Componentversion(2) Left(751) Top(223)
      Define_Com Class(#PRIM_LTVW) Name(#ListView1) Columnbuttonheight(18) Componentversion(2) Displayposition(1) Fullrowselect(True) Keyboardpositioning(SortColumn) Left(28) Parent(#COM_OWNER) Showsortarrow(True) Tabposition(1) Top(48) Width(397) Height(217)
      Define_Com Class(#PRIM_LVCL) Name(#LVCL1) Displayposition(1) Parent(#ListView1) Source(#EMPNO)
      Define_Com Class(#PRIM_LVCL) Name(#LVCL2) Displayposition(2) Parent(#ListView1) Source(#FULLNAME) Width(64)
      Define_Com Class(#DEPTMENT.Visual) Name(#DEPTMENT) Displayposition(2) Left(21) Parent(#COM_OWNER) Tabposition(2) Top(18)
      Define_Com Class(#PRIM_PHBN) Name(#Button1) Caption('Refresh') Displayposition(3) Left(285) Parent(#COM_OWNER) Tabposition(3) Top(13)
      Def_List Name(#WL_EMPSKL) Fields(#fullname #skildesc) Type(*working) Entrys(*max)

      Evtroutine Handling(#com_owner.CreateInstance)

      Set Com(#com_owner) Caption(*component_desc)

      Endroutine

      Evtroutine Handling(#Button1.Click)
      Clr_List Named(#WL_EMPSKL)
      Exchange Fields(#DEPTMENT)
      Call Process(*direct) Function(iiiFN07) Pass_Lst(#WL_EMPSKL)
      Clr_List Named(#ListView1)
      Selectlist Named(#WL_EMPSKL)
      Add_Entry To_List(#ListView1)
      Endselect
      Endroutine
      End_Com
  9. ファンクションを保存し、コンパイルして閉じます。
  • No labels