ブログ

2022/09/21
【プリザンター】 第163回)選択肢一覧を他の項目の値で絞り込む方法

様々な条件で選択肢の表示を絞り込みたい

こんにちは、シーイーシーカスタマサービスの森山です。

年間サポートをご契約いただいているお客様より、下記のお問い合わせを頂きました。
「グループを選択する分類項目で1つのグループを選択したら、そのグループに所属するユーザーだけを
 別項目の選択肢として表示させることはできませんか?」


他にも「何らかの条件で選択肢を絞り込みたい」というお問い合わせを頂いておりました。
これらのお問い合わせを解決する機能が、ver.1.3.16.0・ver.1.3.16.3にて実装されました。

今回は、「選択肢一覧を他の項目の値で絞り込む」方法についてご説明します。

フィルタの設定方法

選択肢一覧を他の項目の値で絞り込む方法では、「ColumnFilterExpressions」を使用します。
今回は2つの使用例にてご説明します。

1例目は「グループの選択にあわせて、グループに所属するユーザーのみを絞り込む」方法です。
使用する項目は「分類A」「分類B」となります。
1.分類Aの選択肢欄に [[Groups*]] と記載します。
 この時、「自動ポストバック」にチェックを入れておきます。
2.分類Bの選択肢欄に、以下を記載します。


[
{
"TableName": "Users",
"View": {
"ColumnFilterExpressions": {
"Groups": "[@ClassA]" //「分類A」で選択した「グループの値」で、グループに含まれるユーザをフィルタ
}
}
}
]


設定を確認してみましょう。

分類Aでグループを選択すると、分類Bのユーザがフィルタされて表示されます。


2例目は「複数の検索ワードで選択肢を絞り込む」方法です。
ここでは、リンク先テーブル(サイトID:12345)のタイトル(氏名)の値を表示テーブルの分類Aで検索し、絞り込んだデータを分類Bに表示します。
1.分類Aを有効にしておきます。この時、「自動ポストバック」にチェックを入れておきます。
2.分類Bの選択肢欄に、以下を記載します。
 ここでは "SearchFormat" を使用するため、「検索機能を使う」にチェックを入れておきます。

[
{
"SiteId": 12345,
"SearchFormat": "[ClassH] | [Title]", //選択肢に「都道府県 | 氏名」と表示
"View": {
"ColumnFilterExpressions": {
"Title": "[ClassA]" //「分類A」に「入力した文字」で、「サイトID:12345のタイトル」をフィルタ
}
}
}
]


こちらも設定を確認してみましょう。※個人情報はダミーデータを使用しています。
顧客名簿(サイトID:12345)です。


顧客名簿とリンクしているテーブルの分類Aで、「氏名(タイトル)」の一部を入力し検索します。


分類Bの選択肢が「氏名」でフィルタされました。ここからさらに、選択肢ダイアログの検索で絞り込むことができます。つまり、複数の検索ワードで選択肢を絞り込むことができます。

まとめ

いかがでしたか?

今までも、選択肢欄にJSON形式で記載することで表示する選択肢を絞り込むことができていましたが、この機能では絞り込む条件がより簡単に設定できるようになりました。
また、選択肢の検索条件も増やすことができますので、用途に合わせてご活用ください。

導入の支援や、スクリプト開発などでお困りの場合は、当社で支援もいたします。
こちらは無料ではなく、有料になりますのでご了承ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問合せください。
☆☆☆

PAGE TOP