Dynamic Filters
PersonWW で使用できる検索フィルタは、[Dynamic Filters] ノードに含まれているものです (PersonFullName と CompanyName)。

動的フィルタの目的は、検索条件となるフィルタをユーザーが実行時にコンボボックスから選択し、動的に新しいフィルタを追加できるようにすることです。

既に使用できるフィルタに加えて、次のフィールドを動的フィルタとしてフィルタ条件にすることができます:
- PersonId
- PersonFirstName
- PersonLastName
- PersonBirthDate
- PersonGender
- PersonHobby
- PersonHasFavoriteMusicBand
注意: 新しいフィルタを追加する場合 (右クリック -> [追加] -> [FilterAttribute])、複数の項目属性を同時に選択することができます。

アプリケーションを実行し、複数の検索フィルタを追加して動的なフィルタをテストします:

下図に示すように、FirstName による検索フィルタは動的な演算子が含まれたフィルタです。単語の先頭文字やコンテンツによる検索を選択することもできます。また、ユーザーが名前を文字範囲で検索できるようにしたい場合、WorkWithPlus のどのフィルタを使用すればよいでしょうか?
PersonFirstName の検索フィルタのタイプを範囲フィルタに変更 (右クリックし、['範囲フィルタ'に変換] を選択) すると、タイプが変更されたことが確認できます。

アプリケーションを実行して、結果を確認します:

Fixed Filters
クライアントは、PersonFirstName と PersonLastName は検索での使用頻度が高いので、この 2 つのフィルタを動的なフィルタではなく常に表示しておくように要求しています。これを実現するには、[Fixed Filters] を使用します。動的なフィルタと同じ外観と操作性ですが、動的なフィルタの上部に常に表示されます。

アプリケーションを実行して、結果を表示します。

Prompt を使用した複数選択フィルタ
複数の Company をキーにしてフィルタを適用し、(動的フィルタのオプションとして) プロンプトから Company を選択できるようにしたいというクライアントの要望があります。これを実現するには、WorkWithPlus に用意されている複数選択フィルタを使用します。このタイプのフィルタを使用すると、エンドユーザーはリストまたはプロンプトから複数のアイテムを選択することができます。
まず、Company のインスタンスに [Prompt Multiple] タイプのオブジェクトを作成する必要があります。
Company トランザクションに移動し、オブジェクトを作成します:

[Prompt Multiple] のプロパティに名前を入力します:

次に、複数選択フィルタを 1 つ追加するには、Person トランザクションに戻って、テーブルまたは動的フィルタを右クリックし、[FilterAttributeMultiple] を選択します。

[Type] プロパティで、「複数選択フィルタ」を [Prompt] にするか [DropDownSelector] にするかを定義します。[Prompt] を選択し、[Prompt]、[Values Attribute]、[Description Attribute] の各プロパティを次のように設定します:

フィルタを実装して実行し、テストします:


DropDownSelector を使用した複数選択フィルタ
また、クライアントは、(動的フィルタのオプションとして) 複数の PersonNickName をキーにしてフィルタを適用するオプションを必要としています。この機能を実現できるフィルタは、DropDownSelector を使用した複数選択フィルタです。
このフィルタを実装します:



フィルタを実行し、テストします:


固定演算子を使用したフィルタ
さらに、クライアントは、固定演算子を使用して誕生日をフィルタできるようにしたいと考えています。要件は、誕生日が次に該当する人を表示することです:
この機能は、「動的な演算子が含まれたフィルタ」で実現できます。PersonBirthDate フィルタ項目属性で、不要な演算子を削除して新しい演算子を作成する必要があります。次に、右クリックして [追加] -> [Operator] を選択し、[Predefined Operator] プロパティで必要な演算子 ([先月] など) を選択します。その後、追加する演算子に応じてこの処理を繰り返します。
フィルタを実装して実行し、テストします:




タイトルフィルタのオプション
実行時に PersonWW に移動し、First Name、Id、Hobby、Gender のタイトルフィルタを分析します。
表示されているように、Id には範囲指定可能な検索ボックスがありますが、First Name と Hobby にあるのは検索ボックス 1 つと動的リストです。また、Gender には固定リストがあります。

それぞれのタイトル フィルタ オプションの既定値は、[WWP Configuration] で設定します。
これらの設定を開くには、KB の [設定] -> [パターン] --> [Work With Plus] に移動します。

すべての Varchar 列で動的リストに最大で 5 つのアイテムが表示されるように必要な設定を行います。
設定するには、[WWP Configuration] の [フィルタ] タブに移動し、[Varchar] データタイプを選択して、[Data List Max Values] プロパティを 5 に設定します。

実行時にアプリケーションに移動して、結果を表示します (すべての Varchar 項目属性について表示します: PersonFirstName、PersonLastName、PersonFullName、PersonNickName など)。

Hobby 列のみ検索ボックスが表示されないように必要な設定を行います。
設定するには、[Title Filter] プロパティを設定する必要があります:

アプリケーションを実行して、結果を表示します。

次へ - アクション