ほとんどのフィルターは [コード ウィザード] を使用して簡単に作成することができますが、フィルターがどのようにコーディングされているかを理解している必要があります。
1. iiiCOM01 コンポーネントが開いている Visual LANSA エディターに切り替えます。
2. 生成されたソース・コードを [ソース] タブで検証し、フィルターがコード化され、データがインスタンスリストに追加される方法を確認します。
これから更新されることがフレームワークに通知されます。
Invoke #avListManager.BeginListUpdate
次に、リストの既存のアイテムがクリアされます。
Invoke #avListManager.ClearList
次に、データが選択されます。Visual LANSA チュートリアル基本編で学習したテクニックの 1 つを使用して、これを実行できます。例えば、次のようになります。l
Select Fields(#XG_Ident) From_File(xEmployeeBySurname) With_Key(#XG_Keys) Nbr_Keys(*Compute) Generic(*yes)
次に、ビジュアル識別子が設定されます。
#UF_VISID1u := #xEmployeeIdentification
#UF_VISID2u := #xEmployeeSurname
次に、データがリストに追加されます。
#avListManager.AddtoList Visualid1(#UF_VISID1u) Visualid2(#UF_VISID2u) Akey1(#xEmployeeIdentification) Acolumn1(#xEmployeeGivenNames)
VisualId1 はインスタンス リストの列 1 に、VisualId2 は列 2 に表示されます。 Akey1 は社員を一意的に識別するキーです (この場合、フィールドは英数字なので、Nkey1 ではなく Akey1)。
最後に、インスタンスリストの更新が完了したことがフレームワークに通知されます。
Invoke #avListManager.EndListUpdate)
3. 次に、エディターの [詳細] タブをクリックし、コンポーネントのプロパティを表示します。
4. コンポーネントの [Ancestor] プロパティが #VF_AC007 であることがわかります。すべてのフィルターは、一連の定義済みの動作を提供するこのベース・クラスから継承します。
5. エディターの [アウトライン] タブを開き、Ancestor コンポーネント VF_AC007 からどのコンポーネントを継承しているか確認します。
6. [avLISTMANAGER] コンポーネントを右クリックし、[機能] オプションを選択します。
7. コンポーネントのメソッドを展開して検証します。
このメソッドの上にマウスを移動させると、この説明がヒントに表示されます。Visual LANSA のプロパティ/メソッド/イベントでは、ダブルクリックすると、そののオンライン・ヘルプが表示されますが、フレームワークのプロパティ/メソッド/イベントでは表示されないことに注意してください。
ヒントが表示できない場合、Visual LANSA エディターの [オプション] で [ヒントの表示] オプションにチェックマークを入れます。
8. iiiCOM01 コンポーネントを閉じます。
これらのコンポーネントの構築方法については、「フィルターおよびコマンド・ハンドラーの構造」を参照してください。