Versions Compared

Key

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

[ Image Removed |../../index.htm#lansa/lansa050fp_0050.htm]
現在地: RAMP-TSガイド > RAMP VLF-WIN のチュートリアル > RAMP-WIN003: 社員のデータ・フィルターを作成する > RAMP-WIN003 ステップ 3. フィルターのコード

...

Wiki Markupほとんどのフィルターは \ [コード ウィザード\] を使用して簡単に作成することができますが、フィルターがどのようにコーディングされているかを理解している必要があります。 1.   再使用可能パーツ iiiRMP01 が開かれている Visual LANSA エディターに切り替え、\[ソース\] タブを開きます。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! 2.   生成されたソース・コードを検証し、フィルターがコード化され、データがインスタンスリストに追加される方法を確認します。  これから更新されることがフレームワークに通知されます。 Invoke #avListManager.BeginListUpdate   次に、リストの既存のアイテムがクリアされます。 Invoke #avListManager.ClearList   次に、データが選択されます。Visual LANSA チュートリアル基本編で学習したテクニックの 1 つを使用して、これを実行できます。例えば、次のようになります。 Select を使用して簡単に作成することができますが、フィルターがどのようにコーディングされているかを理解している必要があります。


  1. 再使用可能パーツ iiiRMP01 が開かれている Visual LANSA エディターに切り替え、[ソース] タブを開きます。
    Image Added

  2. 生成されたソース・コードを検証し、フィルターがコード化され、データがインスタンスリストに追加される方法を確認します。  

    これから更新されることがフレームワークに通知されます。
    Invoke #avListManager.BeginListUpdate

    次に、リストの既存のアイテムがクリアされます。
    Invoke #avListManager.ClearList

    次に、データが選択されます。Visual LANSA チュートリアル基本編で学習したテクニックの 1 つを使用して、これを実行できます。例えば、次のようになります。
    Select Fields(#XG_Ident)

...

  1. From_File(PSLMST2)

...

  1. With_key(#XG_Keys)

...

  1. Generic(*yes)

...

  1. Nbr_Keys(*Compute)

...


  1.   

...


  1. 次に、ビジュアル識別子が設定されます。

...


  1. Change

...

  1. #UF_VisID1

...

  1. #EMPNO

...


  1. Change

...

  1. #UF_VisID2

...

  1. #SURNAME

...


  1.  

...


  1. 次に、データがリストに追加されます。

...


  1. Invoke

...

  1. #avListManager.AddtoList

...

  1. Visualid1(#UF_VisID1)

...

  1. Visualid2(#UF_VisID2)

...

  1. AKey1(#EMPNO)

...


  1.  

...


  1. VisualId1

...

  1. はインスタンス

...

  1. リストの列

...

  1. 1

...

  1. に、VisualId2

...

  1. は列

...

  1. 2 に表示されます。  Akey1は社員を一意に識別するキーです (この場合、フィールドは英数字なので、Nkey1

...

  1. ではなく

...

  1. Akey1

...

  1. となります)。

...


  1.  

...


  1. 最後に、インスタンスリストの更新が完了したことがフレームワークに通知されます。

...


  1. Invoke

...

  1. #avListManager.EndListUpdate)

...

  1.  
     
  2. 次に、エディターの [詳細

...

  1. ]

...

  1. タブをクリックし、コンポーネントのプロパティを表示します。
    Image Added
     
  2. コンポーネントの [Ancestor] プロパティが #VF_AC007 であることがわかります。すべてのフィルターは、一連の定義済みの動作を提供するこのベース・クラスから継承します。
    Image Added
      
  3. エディターの [アウトライン] タブを開き、Ancestor コンポーネント VF_AC007 からどのコンポーネントを継承しているか確認します。
    Image Added
     
  4. [avLISTMANAGER] コンポーネントを右クリックし、[機能] オプションを選択します。
    Image Added

     
  5. コンポーネントのメソッドを展開して検証します。
    Image Added

     
  6. iiiRMP01コンポーネントを閉じます。


これらのコンポーネントの構造化の方法については、フレームワーク ガイドの「フィルターおよびコマンド・ハンドラーの構造」を参照してください。   であることがわかります。すべてのフィルターは、一連の定義済みの動作を提供するこのベース・クラスから継承します。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32!    5.   エディターの \[アウトライン\] タブを開き、Ancestor コンポーネント VF_AC007 からどのコンポーネントを継承しているか確認します。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32!   6.   \[avLISTMANAGER\] コンポーネントを右クリックし、\[機能\] オプションを選択します。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32!   7.   コンポーネントのメソッドを展開して検証します。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32!   8.   iiiRMP01コンポーネントを閉じます。 これらのコンポーネントの構造化の方法については、フレームワーク ガイドの「フィルターおよびコマンド・ハンドラーの構造」を参照してください。     [ !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! |../../index.htm#lansa/lansa050fp_0050.htm]