ステップ3. フィルター・コード
コード ウィザードを使用するだけで、大半のフィルターを作成することができますが、どのようにコーディングされるのかを理解する必要があります。
1. iiiCOM01コンポーネントが開いているVisual LANSAエディターに切り替えます。
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. 次に、エディターで[詳細]タブをクリックしてコンポーネントのプロパティを表示します。
すべてのプロパティが表示されていることを確認する必要があります。
4. [オプション]メニューで[設定]オプションを選択します。
5. [詳細]をクリックして[拡張機能の表示]オプションが選択されていることを確認します。
6. このコンポーネントのAncestorプロパティは#VF_AC007です。すべてのフィルターはこのベース・クラスから継承されます。このクラスは、一連の所定の動作を提供します。
7. エディターで[アウトライン]タブをクリックし、AncestorコンポーネントVF_AC007から何を継承しているか確認します。
8. avLISTMANAGERコンポーネントを右クリックし、[機能]オプションを選択します。
9. コンポーネントのメソッドを展開して調べます。
10. iiiCOM01コンポーネントを閉じます。
これらのコンポーネントの構築方法については、「Windowsフィルターおよびコマンド・ハンドラーの構造」を参照することもできます。