前回はエンティティリストを作って、ポータルからレコードの一覧表示をするところまで設定しました。
今回はそのエンティティリストに一手間加えてより使いやすくしてみましょう。
本家越え!?ビューに検索条件をつける
作ったエンティティリストは指定された条件を一覧に出してるだけにすぎません。
でも、ポータルの一覧表示は一味違います。
なんと、一覧表示から検索条件を加えてポータルユーザ自らが条件を指定した絞り込みを行うことができます。
Dynamicsユーザのビュー表示にはない機能なのでありがたい機能ですね!
(むしろDynamicsのビューにその機能が欲しい。。。)
色々な検索方法での条件指定ができるので、今回はその機能を加えてアップデートして行きたいと思います。
エンティティリストにフリーワード検索を入れる
まずは、一覧表示にフリーワード検索を入れてみます。
前回作成したエンティティリストを引き継いで使用します。
エンティティリストから、[全般]タブの[検索]セクションにある「有効」にチェックを入れましょう。
これでフリーワード検索ができます、簡単ですね!
検索を有効にすると、ポータルへの表示はこのように検索テキストが出ます。
ちなみに、このフリーワード検索の検索対象はビューで表示している項目のみが対象です。
テキストの説明文にも記載はありますが、ワイルドカード検索も可能です。
より詳細な検索ロジックを設定する
フリーワード検索はシンプルでしたが、次はちょっと情報量多めです。
次は指定した項目に対して検索をかけたい時の設定になります。
指定した項目といっても、文字であればテキストで検索したいでしょうし、オプションセットであれば選択式で検索したいですし、数字であれば範囲指定したいでしょう。
データ型によって検索方法がまちまちなので、そのデータ型にあった検索方法を指定する必要があります。
まずは、エンティティリストの[全般]タブ内の[メタデータ フィルター]セクションで有効にチェックを入れましょう。
フィルターの各設定については後述します。
テキストフィルター
テキスト入力による検索となります。
フィルターから[テキストフィルター]を選択して、項目を指定します。
ポータルではテキスト入力による検索となります。
前方一致検索となります。
属性フィルター
テキスト入力とは違い、入力に選択肢を与えて検索します。
オプションセット項目の検索はこちらを使いましょう。
チェックボックス・ラジオボタン・ドロップダウンリストから選択できます(ラジオボタンとドロップダウンは入力が異なるだけで検索ロジックは一緒)。
ポータルの検索はこのように。
ルックアップセット
こちらも属性フィルターと似ていますが、選択肢を関連するレコードから取得します。
それ以外は属性フィルターと同じです。
検索画面の表示はこう。
範囲フィルターセット
予め検索範囲を指定して、選択された範囲に収まっているものを抽出します。
こちらも、チェックボックス・ラジオボタン・ドロップダウンリストから指定が可能です。
数字や日付などの項目に対して有効です。
動的な候補リストセット
オプションセット項目に対して、選択肢を定義し選択したものに対して検索をかけます。
属性フィルターと違うところは、オプションセットの選択肢を自動的に取り込んでいるので、いちいち値を定義する必要がないところです。
そのため、選択できる項目もオプションセット値しか指定できないようになっているはずです。
表示順はここでは指定することはできず、オブションセットで定義している値の順番になります。
動的な候補リストセット
関連するエンティティからレコードを動的に取得して、選択肢を自動的に取り込みます。
ポータルでは取り込んだレコードが表示されます。
ここを扱う上での注意点は、関連するエンティティにもアクセス権が付与されていること。
アクセス権がなかったり、該当のレコードがない場合はこのように効果を発揮しません。
エンティティのアクセス制御で関連エンティティのアクセス権の設定も忘れずに。
動的な候補リストセット
これはちょっと上級者向けの設定。
今までのものはポータルユーザが検索するための検索条件を定義するものでしたが、こちらはFetchXMLを使って検索条件を予めセットしておきます。
これを定義するには、FetchXMLを打ち込む必要があります。
僕もそうですが、FetchXMLがとっさに入力できない人は、高度な検索を使用しましょう。
Dynamicsから高度な検索のアイコンを選択して、
エンティティを選択→条件を入れて→[FetchXMLをダウンロード]押下。
FetchXMLがダウンロードされますが、XML分のうち、列とソートは不要なので、attributeタグとorderタグを消しましょう。
それをFetchXMLのテキスト欄に貼り付けてください。
(この辺、あまり説明ないから分かりづらいんだよなぁ)
最終的なポータルの検索表示はこうなります。
チェックを入れた時は記載したfilter条件が適用されます。
表示がそのままattributeになっちゃうけど、表示名の設定がないので仕方ないですね。
もう一つ設定しておきたいこと
検索条件はこのように色々なバリエーションで使えるのでありがたいですね。
検索条件とは別ですが、もう一つ設定するものとしてボタン名も設定した方がいいです。
というのも、大抵文言系が未設定の場合はデフォルトのラベルが適用されるのですが、なぜか検索のとこだけ、
文字が出ません(泣)。
なので、適用ボタンだけ何かしら設定しておきましょう。
これにて一件落着!
次回は
エンティティリストで設定することはまだまだあります。
でも、ここから先はポータルのもう一つの主要機能エンティティフォームと絡めての設定となるため、一度エンティティフォームの設定に移りたいと思います。
コメント