先日、ちょっとしたデモンストレーションを作ろうと思い、カスケード参照(Cascade Lookups)を Office365版 で使おうとしました。去年の早い時期に、この機能が Nintex Forms for Office365 でも動作することを確認したのですが、この機能の新しい動画が YouTube にあがっていたので、そちらを参照しました。ところが、このビデオのインストラクションどおりに何度やってもうまくいきません。(アレ?)
カスケード参照という機能は、例えば、全国展開している店舗の評判について、アンケートを行う入力フォームを使う場合に、都道府県名を選択肢リストの中から選ぶと、自動的にその都道府県内の店舗名だけが次の選択肢に並ぶような機能です。
「JavaScriptで書けばいいじゃん」と思うかもしれませんが、そこはメンテナンスを考えて、SharePoint のリストとして作成、参照するようにしておくと、SharePoint 内部のデータベースが処理をしてくれるので、後々、店舗名が変わったりした時にデータのメンテナンスが楽ですよね。
作成方法
- 上記のようなカスケード参照の場合、SharePointのカスタムリストが3つ必要になります。先ずは、店舗アンケート用の入力を行うリスト、つまり上記画面の作成用カスタムリストです。「店舗アンケート」というリスト名にします。
- 次に、後ろで動いてもらう裏カスタムリストを2つ用意する必要があります。「都道府県名」リストと「店舗」リストです。実は、この2つのリストの1つにトリックがあます。
- 「都道府県名」リストは、そのままのシンプルな1行テキストのリストですが、「店舗」リストの都道府県名は、1行テキストではなく、SharePointのリスト設定ー>列の作成から名前と種類で「参照」として列作成を行う必要があります。DBなどを作成した経験のある方は、スキーマで参照設定したのと同じ事がこの設定で行われると思うといいでしょう。「店舗」リストの「都道府県名」項目の参照先は、列の追加設定で情報の取得先を下記のように「都道府県名」リストとしておく必要があります。
- 次に、「店舗アンケート」リストをNintex Formsで開きます。空のカスタムリストなので、最初はタイトルしかありません。そこで、都道府県名と店舗名をラベルで追加し、それらの隣に、リスト参照用のフォームコントロールを置きます。
- リスト参照用のフォームコントロールを出すには、左下にあるタブで「SharePoint」をクリックします。すると「リスト参照」というコントロールが出てきますので、それをドラッグ&ドロップして「都道府県名」と「店舗名」の隣にそれぞれ置きます。
- 都道府県名の隣に置いたリスト参照コントロールをダブルクリックして、コントロール設定画面を出します。この画面では、ソースリストと名前を設定します。ソースリストの隣のドロップダウンリストには、このサイトのカスタムリストの一覧があるので、その中から「都道府県名」を選択します。また、このコントロールに「都道府県コントロール」と名前をつけておきましょう。後からコントロールを参照する必要があるためです。名前に「都道府県コントロール」といれます。
- 最後に、店舗名ラベルの隣に置いたリスト参照コントロールをダブルクリックします。コントロール設定画面では、名前に「店舗コントロール」、ソースリストではドロップダウンリストの中から「店舗」を設定します。使用可能な選択範囲のフィルタに「コントロール識別」を選択して、条件フィールドには「都道府県名」と入力します。コントロールによるフィルタでは、絞り込みを行うコントロールを選択しますが、ここでは「都道府県コントロール」を選びます。
如何でしょうか?
最初にご紹介した上から流れ落ちてくるような、カスケード参照が出来ましたでしょうか?
利用するユーザーが選ばなければならない選択項目が非常に多い際に、このカスケード参照を可能にしておくだけで、ユーザー エクスペリエンスは格段に高まります。入力や選択が非常に楽になります。是非、ご活用下さい。