フィルタ

Dynamic Filters

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

SelectionFeatures_img36

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

SelectionFeatures_img37

既に使用できるフィルタに加えて、次のフィールドを動的フィルタとしてフィルタ条件にすることができます:

  • PersonId
  • PersonFirstName
  • PersonLastName
  • PersonBirthDate
  • PersonGender
  • PersonHobby
  • PersonHasFavoriteMusicBand

注意: 新しいフィルタを追加する場合 (右クリック -> [追加] -> [FilterAttribute])、複数の項目属性を同時に選択することができます。

SelectionFeatures_img38

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

SelectionFeatures_img39

下図に示すように、FirstName による検索フィルタは動的な演算子が含まれたフィルタです。単語の先頭文字やコンテンツによる検索を選択することもできます。また、ユーザーが名前を文字範囲で検索できるようにしたい場合、WorkWithPlus のどのフィルタを使用すればよいでしょうか?

PersonFirstName の検索フィルタのタイプを範囲フィルタに変更 (右クリックし、['範囲フィルタ'に変換] を選択) すると、タイプが変更されたことが確認できます。

SelectionFeatures_img40

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

SelectionFeatures_img41

 

Fixed Filters

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

SelectionFeatures_img42

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

SelectionFeatures_img43

 

Prompt を使用した複数選択フィルタ

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

まず、Company のインスタンスに [Prompt Multiple] タイプのオブジェクトを作成する必要があります。

Company トランザクションに移動し、オブジェクトを作成します:

SelectionFeatures_img43_1

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

SelectionFeatures_img43_2

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

SelectionFeatures_img44

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

SelectionFeatures_img45

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

SelectionFeatures_img45.1

 

SelectionFeatures_img45.2

 

DropDownSelector を使用した複数選択フィルタ

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

このフィルタを実装します:

SelectionFeatures_img44

SelectionFeatures_img46

SelectionFeatures_img47

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

SelectionFeatures_img48

SelectionFeatures_img49

 

固定演算子を使用したフィルタ

さらに、クライアントは、固定演算子を使用して誕生日をフィルタできるようにしたいと考えています。要件は、誕生日が次に該当する人を表示することです:

  • 今日
  • 先月
  • 今月
  • 来月

この機能は、「動的な演算子が含まれたフィルタ」で実現できます。PersonBirthDate フィルタ項目属性で、不要な演算子を削除して新しい演算子を作成する必要があります。次に、右クリックして [追加] -> [Operator] を選択し、[Predefined Operator] プロパティで必要な演算子 ([先月] など) を選択します。その後、追加する演算子に応じてこの処理を繰り返します。

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

SelectionFeatures_img50

SelectionFeatures_img51

SelectionFeatures_img52

SelectionFeatures_img53

 

タイトルフィルタのオプション

実行時に PersonWW に移動し、First Name、Id、Hobby、Gender のタイトルフィルタを分析します。

表示されているように、Id には範囲指定可能な検索ボックスがありますが、First Name と Hobby にあるのは検索ボックス 1 つと動的リストです。また、Gender には固定リストがあります。

GridObjectsFilters_img01

それぞれのタイトル フィルタ オプションの既定値は、[WWP Configuration] で設定します。

これらの設定を開くには、KB の [設定] -> [パターン] --> [Work With Plus] に移動します。

GridObjectsFilters_img02

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

GridObjectsFilters_img03

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

GridObjectsFilters_img04

Hobby 列のみ検索ボックスが表示されないように必要な設定を行います。

設定するには、[Title Filter] プロパティを設定する必要があります:

GridObjectsFilters_img05

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

GridObjectsFilters_img06

次へ - アクション 


Copyright © 2007-2015 DVelop Software Solutions - www.workwithplus.com