Home / ... / Deluge スクリプト / フィルタの設定 / ビューへの基準の設定

ビューへの基準の設定


  ビューへの基準とフィルタの設定



ビューの作成

初期設定では、フォーム内の全レコードが、ビューに表示されます。
フィルタは、ビュー内で指定したレコードのみ表示するように設定する
基準」と呼ばれる条件の一式です。
初期設定フィルタは、単一選択フィールドと複数選択フィールド、日付フィールドに対して作成されます。
フォーム内の全ての列を表示する デリュージ構文は、下記のとおりです。

構文

list  <"ビュー名">
{
show all rows from < フォーム名 >
(
< フィールド名 >
<
フィールド名 >
<
フィールド名 >
<
フィールド名 >

)
filters
(
< 単一/複数 選択リスト型フィールド名 >

<
単一/複数 選択リスト型フィールド名 >

)
}

 

ベース基準

図書館で本を探すときには、最初に、今借りることのできる本のリストをチェックすることでしょう。これは、頻繁に必要となる機能です。
ビューの作成時に、一致基準を設定することで、簡単に実現することが可能です。
デリュージスクリプトで、ベース基準(Base Criteria)を指定するには、下記の青色に色づけされた部分のコードのような基準をビューに追加します。

list  Employee_Form_View
{
displayname = "Employee Form View"
show all rows from Employee_Form [Department == "HR"]
(
Employee
Phone
Date_of_Birth as "Date of Birth"
Postal_Address as "Postal Address"
Date_of_Joining as "Date of Joining"
Department
)
filters
(
Date_of_Birth
Date_of_Joining
Department
)
}

上記のコードでは、"Employee_Form" フォーム内の、"Department" フィールド値が "HR" であるレコードのみが表示されます。
ベース基準が指定されていない場合には、すべてのレコードが表示されます。

 

オートフィルタ

フィルタとは、複数の基準設定のセットです。ビュー内の登録レコードを指定の条件でフィルタすることができます。デフォルトフィルタが、単一選択フィールドと複数選択フィールド、日付フィールドに対して自動で作成されます。これらのフィルタは、"オートフィルタ(Auto filter)"と呼ばれます。
Zoho Creator では、下記のフィールド型に属するフィールドの全てに対して、デフォルトフィルタを自動作成します。

  • ユーザ定義の単一選択フィールド、または、単一選択のルックアップフィールド

  • ユーザ定義の複数選択フィールド、または、複数選択のルックアップフィールド

  • 日付フィールド

フィルタとして、フィールド名を指定するだけで設定可能です。
デフォルトフィルタ付きでフォーム内の全レコードを表示するためのデリュージ構文は、下記のとおりです。
list  Employee_Form_View
{
displayname = "Employee Form View"
show all rows from Employee_Form [Department == "HR"]
(
Employee
Phone
Date_of_Birth as "Date of Birth"
Postal_Address as "Postal Address"
Date_of_Joining as "Date of Joining"
Department
)
filters
(
Date_of_Birth
Date_of_Joining
Department
)

}

 

Zoho Creator のGUI モード(編集モードのビュータブ>フィルタ設定画面)では、初期設定フィルタが表示されます。
表示 チェックボックスを選択するだけで、自動フィルタを有効化/無効化できます。

初期設定では、有効になっています。 

 

ライブモードでは、下図のように、フィルタはフィルタのドロップダウンリスト内に表示されます。フィールド名が、フィルタ名となります。フィールド値は、フィルタのドロップダウンリスト内に表示されます。フィルタ名を選択すると、そのフィルタ基準を満たすレコードのみが表示されます。
例えば、Employee ビューでは、Department が"Engineering"として選択されているとき、Employee フォーム内で department が "Engineering" であるemployees のみ、下図のように一覧に表示されます。



カスタムフィルタ

カスタムフィルタは、ユーザ定義の複数の基準のセットです。
現在は、単一の基準のみ、GUIモード(編集モードのビュータブ>フィルタ設定の「新規カスタムフィルタの作成」をクリック)で定義することができます。
下図をご参照ください。

全一致match all)と、部分一致match any)から選択できます。
上記のカスタムフィルタに対して生成された
Deluge スクリプトは、下記の青字部分です。: 

filters 
(
EducationalQualification
Experience
BloodGroup
"Diploma with 2 years experience" : (EducationalQualification == "Diploma" && Experience == "2 years")
)

 

 

ANDOR の両方の演算子を含むといった、少し複雑な基準を設定するには、Deluge スクリプトが必要になります。
下記のサンプルコードをご参照下さい。:

filters 
(
EducationalQualification
Experience
BloodGroup
"Diploma with 2 years experience" : (EducationalQualification == "Diploma" && Experience == "2 years")
"Diploma/PostGraduate" : ((EducationalQualification == "Diploma" && Experience == "2 years") || Educational
Qualification == "PostGraduate")

)
}

ここでは、"Diploma/PostGraduate" は、AND (&&)OR (||) との両方の演算子で基準式を設定した、 カスタムフィルタです。
デリュージスクリプトの式に関する詳細は、 をご参照ください。


 


 


    Post a comment

    Your Name or E-mail ID (mandatory)

     

    Note: Your comment will be published after approval of the owner.




     RSS of this page