SharePointの標準ではできないFormsの様々な機能の中のよく使われそうな機能が、表示・非表示のルールかと思います。別の選択肢でAを選択するとAパネルが表示され、Bを選択するとAパネルは消えてBパネルが表示されるみたいな。非常に便利な機能ですが、クセがあります。
サンプルとしてこのようなフォームを作りました。
上部操作エリア内にある選択肢でそれぞれのパネルの表示・非表示を制御します。
■想定する挙動
このように、Formsで配置した上からABCの順番は崩れずに、表示・非表示で自在に制御できるようにしたい。
■想定外な挙動
つまり、Forms上で正しく上からABCとパネルを並べても、表示させるラジオボタンをクリックするパターン次第で、配置順がABCにならなくなる。
これは例えば業務フロー順にパネルを表示・非表示させるとして、その順番が入れ替わってしまったら困りますよね。これ、半日ほど試行錯誤して原因と解決方法がわかりました。
■原因
といっても明確に原因がわかったわけではなく、想定外な挙動をするパターンが判明しただけです…。
隙間なくキレイにパネルを配置した際に起きる現象でした(なんてこった)。
■解決方法
先ほどの想定外な挙動と同じ動作をしますと…
- 未選択 → 全て非表示
- 「B-表示」にすると → 上からB
- 「A-表示」にすると → 上からAB
BAではなく、ちゃんとABになりました。他にも色々なパターンで表示・非表示を繰り返しましたが、上からABCが崩れることはありませんでした。
表示・非表示の際にはパネルが重なってしまっても思った挙動になりませんが、まさかキレイに配置してもこのような挙動になるとは思いませんでした。
通常はパネルとパネル、コントロールとコントロールをキレイに配置しても問題ありませんが、もしこのような挙動になる、もしくはしようとしている場合は、1マス空けて配置すると良いです。