ミニ・フィルター
ミニ・フィルターの作成方法については、チュートリアル「VLF010WIN - ミニ・フィルターの作成」を参照してください。
ミニ・フィルターは非表示フィルターに非常によく似ています。その違いは、ミニ・フィルターではフレームワークの確認バー上に常に表示されているフィールドと検索ボタンで、ユーザーが検索値を入力する必要がいまだにあることです(フィールドと検索ボタンはミニ・フィルター時のみ表示されます)。
フィルターが確認バー上の検索フィールドとボタンを設定します。フィルターは非表示です。ユーザーは確認バーの検索フィールドに検索値を入力し、ボタンを押します。これでフィルターが実行され、ユーザーが入力した値を読み込んで検索を実行し、その結果をインスタンス・リストに表示します。
フィルターはフレームワークのプロパティを使用して確認バー上の検索フィールドと通信します。
送信プロパティ
WINDOWS
Set #Com_Owner avMiniFilter(TRUE)
set #Com_Owner avMiniFiltFldCap1('Search for')
set #Com_Owner avMiniFiltValue1('<<Initial search value>>')
set #Com_Owner avMiniFiltButtonCap1('Search')
受信プロパティ
フレームワークのプロパティを読んでその検索フィールドの値を受け取ります。
USE BUILTIN(VF_GET) WITH_ARGS(AVMINIFILTVALUE1 *BLANKS) TO_GET(#ALPHASEARCH)
WINDOWS
Windowsフィルターは情報をメソッド・ルーチンのパラメータとして受け取ります。これには押されたボタンの番号も含まれます。
Mthroutine Name(uMiniFilterButton) Desc('Handle a mini filter button click') Help('Overwrite this method with your own logic if required.') Options(*REDEFINE)
* Define_Map For(*input) Class(#vf_elnum) Name(#uButton)
* Define_Map For(*input) Class(#vf_elurl) Name(#uValue1) Mandatory(' ')
* Define_Map For(*input) Class(#vf_elurl) Name(#uValue2) Mandatory(' ')
* Define_Map For(*input) Class(#vf_elurl) Name(#uValue3) Mandatory(' ')
最大3つまでの検索フィールドと検索ボタンが含まれます。検索フィールドは常に英文字で、ユーザーが数値を入力すると、フィルターのRDMLが入力された値を数値に変換するようコーディングされ、問題があればメッセージを表示します。
フィルター内のルーチンは、3つのフィールドのいずれかの値にアクセスするボタンのクリックを管理します。
ミニ・フィルターを使用している場合は、ビジネス・オブジェクトのフィルターが1つあります。ミニ・フィルターは、スペースを省いてインスタンス・リストを幅広く表示するためにあります。したがって他のフィルターが必要な場合はミニ・フィルターではなく普通のフィルターを使用してください。