コマンド・ハンドラーとリスト・マネージャー
通常は1 つのインスタンスリストでユーザーは 1 つ以上のビジネス・オブジェクト・インスタンスを選択し、(これらのインスタンスに対し) コマンドを実行することができます。ここで言うコマンドの実行とは、コマンド・ハンドラーの uExecute が実行されるということです。
コマンド・ハンドラーでは通常から以下を認識する必要があります。
- 現在のインスタンスは、最後に選択されたインスタンスで、通常はフォーカスされています。
- 選択のインスタンスは、選択されたすべてのインスタンスです。
VLF-ONE は「関連のインスタンス」の概念もサポートします。
コマンド・ハンドラーでは、以下のリスト・マネージャー・メソッドが使用できます。
メソッド
|
説明
|
GetCurrentInstance
|
リスト・マネージャーにカレント・ビジネス・オブジェクト・インスタンスの詳細を問い合わせます。
コマンド・ハンドラーが1つのビジネス・オブジェクト・インスタンスを扱うように設計されている場合(例えばある製品の詳細を表示する場合)、このメソッドを使用して現在の製品を検出する必要があります。
VLF-WIN ではこれに代わる方法が用意されています。
プロパティ #avListManager.CurrentInstance を使用する方法です。これは、現在のインスタンスリストのデータ・アイテム #VF_LM003O への直接の参照です。
詳細については、「VLF-ONE でのインスタンスリストのエントリー処理」を参照してください。
|
GetSelectedInstance
|
VLF-WIN では、リスト・マネージャーにリストで選択されたインスタンスをすべて返すように要求します。複数のオブジェクト・インスタンスを操作する(例えば選択した全社員の詳細を印刷する)よう設計されたコマンド・ハンドラーもあります。
VLF-WIN ではこれに代わる方法が用意されています。
詳細については、「VLF-ONE でのインスタンスリストのエントリー処理」を参照してください。
|
GetFromList
|
VLF-WIN では、リスト・マネージャーにインスタンスリストのインスタンスの固有な識別子とビジュアル識別子を返すように要求します。インスタンスを読み込むためにAKeynおよびNKeynの値は固有に識別できる必要があります。
VLF-WIN ではこれに代わる方法が用意されています。
詳細については、「VLF-ONE でのインスタンスリストのエントリー処理」を参照してください。
|
GetInstance
|
リスト・マネージャーにリストでインスタンスのエントリーをすべて返すように要求します。このメソッドで、コマンド・ハンドラーがすべてのオブジェクト・インスタンスをフィルターで返せるように設計できます。
VLF-WIN ではこれに代わる方法が用意されています。
詳細については、「VLF-ONE でのインスタンスリストのエントリー処理」を参照してください。
|
|
VLF-WIN アプリケーションではリスト・マネージャーは ListSelectionChanged イベントも通知しますので、より複雑なコマンド・ハンドラーではこれをlistenして使用することができます。これは選択したオブジェクト・インスタンスのセットを変更するたびに通知されます。インスタンスリストの内容や選択は、いかなる方法でもListSelectionChangedイベント・ハンドラー内で変更してはいけません。