以前『リスト値とビュー』という記事で、Notes の特徴的な機能であるリスト値(複数値)をビューで活用するテクニックを紹介しました。先日、このテクニックに関して新しい注意点を発見したので紹介します。
複数値を分離して表示の動作
まずは、前回の記事を再編集して、そのテクニックのおさらいします。以下のフォームは交通費精算書をイメージしています。交通機関や金額は1申請につき複数必要となりますが、これをリスト値で管理させています。
このような構造とすることでフィールド数が削減でき、入力できる件数に実質制限がなくなります。Notes ではよく使う手段ですよね。
紹介したテクニックは、このような複数のリスト値が対になって保存されている文書をビューでバラバラに表示する方法です。利用するのは列のプロパティにある『複数値を別のエントリで表示』です。
例えば、交通機関でカテゴリ化して、金額と備考を『複数値を別のエントリで表示』させると次のようになります。リスト値の各要素がうまく分離されて表示できます。
なお、この『複数値を別のエントリで表示』機能は少々癖のある制限があります。前回の記事では、次の2つを紹介しました。
- 『複数値を別のエントリで表示』する列より左の列でソートする
- 『複数値を別のエントリで表示』する列ではソートできない
例えば、金額列でソートも有効にします。すると、次のようにすべての組み合わせがビューに表示されるという症状が出ます。今回の文書で言うと青が正しい行で、赤が正しくない行となります。
今回発見した現象
前置きが長くなりましたが、ここまでは復習で、ここからが今回の本題です。
リスト値を活用したアプリ開発において、私はこの技をよく使用するのですが、まれに思い通りに動かないことがありました。ずっと原因不明だったのですが、先日理由がわかったので紹介します。
発生した問題は次の通りです。一見、リスト値がうまく分離されているように見えるのですが、各行で本来異なるはずの金額が、すべて「リストの1件目の値」で上書きされたような表示になっています。
この現象は、先に挙げたすべての組み合わせが表示される症状とは違います...。
原因
このビュー、以前は正常に動作していたんです。ただ、ある時ユーザの要望でちょっとだけ修正したタイミングから正しく動作しなくなりました。
間違い探しみたいですが、先の画像の修正前後を見比べるとその原因がわかります。
そうです。原因は、ビューヘッダーのソート機能を有効にしたからなんです。
実際にそのカラムでソートしてみると次のようになります。ソートしたときに表示されている値が、ヘッダーソートをしない状態でも採用されており、しかも、すべてのリストエントリで表示されるという現象が発生していたようです。
まとめ
今回は『複数値を別のエントリで表示』機能で新たに発見した現象を紹介しました。うまく動作すれば便利に使える機能ですが、落とし穴がいくつもあるので注意が必要です。
きっかけとなったヘッダーソートの機能は、便利でユーザ受けもいいので、安請け合いしがちなのですが、思わぬ影響が出てクレームにつながりました。おいしい話には裏がある、慎重に行動しないと駄目ですね...
















































