[
|../../index.htm#lansa/lansa050fp_0050.htm]
現在地: RAMP-TSガイド > RAMP VLF-WIN のチュートリアル > RAMP-WIN003: 社員のデータ・フィルターを作成する > RAMP-WIN003 ステップ 3. フィルターのコード
ほとんどのフィルターは \[コード ウィザード\] を使用して簡単に作成することができますが、フィルターがどのようにコーディングされているかを理解している必要があります。 1. 再使用可能パーツ iiiRMP01 が開かれている Visual LANSA エディターに切り替え、\[ソース\] タブを開きます。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! 2. 生成されたソース・コードを検証し、フィルターがコード化され、データがインスタンスリストに追加される方法を確認します。 これから更新されることがフレームワークに通知されます。 Invoke #avListManager.BeginListUpdate 次に、リストの既存のアイテムがクリアされます。 Invoke #avListManager.ClearList 次に、データが選択されます。Visual LANSA チュートリアル基本編で学習したテクニックの 1 つを使用して、これを実行できます。例えば、次のようになります。 Select Fields(#XG_Ident) From_File(PSLMST2) With_key(#XG_Keys) Generic(*yes) Nbr_Keys(*Compute) 次に、ビジュアル識別子が設定されます。 Change #UF_VisID1 #EMPNO Change #UF_VisID2 #SURNAME 次に、データがリストに追加されます。 Invoke #avListManager.AddtoList Visualid1(#UF_VisID1) Visualid2(#UF_VisID2) AKey1(#EMPNO) VisualId1 はインスタンス リストの列 1 に、VisualId2 は列 2 に表示されます。 Akey1は社員を一意に識別するキーです (この場合、フィールドは英数字なので、Nkey1 ではなく Akey1 となります)。 最後に、インスタンスリストの更新が完了したことがフレームワークに通知されます。 Invoke #avListManager.EndListUpdate) 3. 次に、エディターの \[詳細\] タブをクリックし、コンポーネントのプロパティを表示します。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! 4. コンポーネントの \[Ancestor\] プロパティが #VF_AC007 であることがわかります。すべてのフィルターは、一連の定義済みの動作を提供するこのベース・クラスから継承します。 !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] |