Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 再利用可能パーツを編集し、コンボ・ボックスのフォーカスが変更されたときにuDepartmentChangedイベントを送信するようにします。イベントを以下のように定義します。
         define_
    evt uDepartmentChanged help('このイベントは部門選択が変更されると起動します
    evt uDepartmentChanged help('This event is signaled when the  department selection is changed')
     
  2. イベントを以下のように通知します。 
    EVTROUTINE HANDLING
         EVTROUTINE HANDLING(#COMBOBOX.ItemGotFocus)
     
    Signal uDepartmentChanged 
     
    Signal uDepartmentChanged
    ENDROUTINE

uCurrDepartmentプロパティの実装

再利用可能パーツを編集し、以下のことを行うuCurrDepartmentという名前のプロパティを定義します。

...

  1. このためには、以下のようにプロパティを定義する必要があります。
         define_
    pty name
    pty name(uCurrDepartment)
     get
     get(*
    auto #deptment) set
    auto #deptment) set(SetDepartment)
     
     
  2. それからSetDepartmentプロパティのプロパティ・ルーチンを以下のように追加します。
     
    PTYROUTINE SetDepartment
    define_map for
         PTYROUTINE SetDepartment
    define_map for(*input)
     class
     class(#deptment)
     name
     name(#sdeptment)
    selectlist #combobox
       continue if('#deptment *ne #sdeptment
         selectlist #combobox
       continue if('#deptment *ne #sdeptment.Value')
     
       set #ComboBox.CurrentItem Focus
     
       set #ComboBox.CurrentItem Focus(True)
     
       return
    endselect
     
       return
    endselect
    ENDROUTINE
     
  3. 再利用可能パーツの新しいバージョンをコンパイルします。

...

  1. テスト・フォームを編集し、以下の1行を追加して社員の詳細が取得されるときに再利用可能パーツに新しい部門の詳細を表示するよう通知する必要があります。
    Set #II_RVP29A uCurrDepartment
         Set #II_RVP29A uCurrDepartment(#deptment)
     
    さらに、監視してビジュアル・コンポーネントを変更する必要があります。uDepartmentSelectedイベントを送信するときは、常に以下のルーチンを使用して#DEPTMENTフィールドの値を変更する必要があります。 
     
    EVTROUTINE HANDLING
         EVTROUTINE HANDLING(#II_RVP29A.uDepartmentChanged)
    Change #deptment #II
         Change #deptment #II_RVP29A.uCurrDepartment
    ENDROUTINE
     
  2. 最後にフォームのフィールド #DEPTMENT を Read-Only(True) にし、インターフェースから変更できないようにします。実際には、#DEPTMENTフィールドをフォームに置くことはあまりありませんが、このエクササイズのために内容を見ることができるようにしました。
     
  3. テスト・フォームを再コンパイルします。

  4. フォームの新しいバージョンをテストします。社員の詳細を取得した場合は、常に再利用可能パーツにより正確な部門に切り替えられ、コンボ・ボックスで部門を選択した場合は、即座に値がフォームに反映されます。