登録済みの一覧画面をクエリで絞り込みたい
こんにちは、キン担ラボの本橋です。
kintoneの一覧画面は柔軟な表示がウリです。「こんなことできないかな?」と調べてみた結果をメモに残しておきたいと思います。
こんな具合に登録しておいた一覧に対して、GETパラメータにクエリを追加して絞り込みたかったのです。
だがしかし、それは叶いませんでした。
その代わり『作成した一覧項目ヘッダのまま』『任意の絞り込み結果を表示』という使い方ができることが分かりました。これはこれで便利な使い方です。
ではお付き合いください。
やりたかったこと
アプリ設定画面に移動して、自分が欲しいと思うとおりの一覧画面を作ることは、kintoneを使い始めてかなり最初の段階で通る道かと思います。
いろんな絞り込みの組み合わせで、こんな感じのマトリックスでリンク集を作ろうとしてました。
会社名 | 製品について | 受発注について | お客様対応について | その他 |
---|---|---|---|---|
XYZコーポレーション | リンク | リンク | リンク | リンク |
ABC商事 | リンク | リンク | リンク | リンク |
株式会社アカツキ | リンク | リンク | リンク | リンク |
合同会社カナリア | リンク | リンク | リンク | リンク |
それぞれの「リンク」先は、対応する会社名とカテゴリ名とで絞り込み済みの一覧です。
会社名別の一覧を作った
リンクをたくさん作ることになるので、まずは会社名別にそれぞれ一覧を作成して、そのURLにクエリを ?q= で追加していけばいいだろう、という発想です。
やがて
- 一覧の中にある絞り込みと、GETパラメータのクエリは同居できない
という問題に突き当たります。
view=12345678 の中に持っているクエリと、q=xxxxxxx で与えたクエリを同居させると、q=xxxxxx で与えたクエリ結果だけの一覧が表示されてしまいました。
まとめ
まず絞り込み済みの一覧を登録したとします。こんなURLになります。
https://_____.cybozu.com/k/645/?view=7444952
これを『一覧A』としましょう。
一覧Aにはいくつかの絞り込み条件としてクエリ1が事前に設定してあるものとします。
つぎにURLを編集して、一覧Aの特定のフィールドに対して"kintone"という文字列を含むクエリ2を追加します。こんなURLになります。
https://_____.cybozu.com/k/645/?view=7444952&q=f2111%20like%20"kintone"
これを『一覧B』と呼びます。
URL的には、絞り込み後の一覧に対して、さらに絞り込み条件を追加している形です。期待としては『一覧Aの絞り込み結果を、さらに"kintone"で絞り込んだ一覧』となってほしいところです。(以下の図のANDの網掛け)
しかし実際には事前に設定した絞り込み条件は無視されて、『特定のフィールドに"kintone"を含む』という条件だけで絞り込まれたレコード一覧が表示されました。
『登録した一覧のクエリ1は無視されて、追加したクエリ2だけの絞り込み結果が一覧される』
という挙動です。
考察
自由度の高さで考えると、AND条件が欲しければ一覧Aのクエリと同じクエリをもう一度URLに追加してあげれば実現可能です。
ここでもしクエリ1とクエリ2のAND条件で絞り込みができてしまうと、同じ一覧項目をいくつか登録しなければ実現できないことになり、ちょっと不自由感が出てきてしまいます。
直感には反しますが、『一覧Bの挙動であれば作成済みの一覧項目に対して、任意の絞り込み結果をリストアップできる機能』と考えればこの仕様も嬉しい挙動と言えそうでした。
Discussion