🔥

登録済みの一覧画面をクエリで絞り込みたい

に公開

こんにちは、キン担ラボの本橋です。

kintoneの一覧画面は柔軟な表示がウリです。「こんなことできないかな?」と調べてみた結果をメモに残しておきたいと思います。

こんな具合に登録しておいた一覧に対して、GETパラメータにクエリを追加して絞り込みたかったのです。

だがしかし、それは叶いませんでした。

その代わり『作成した一覧項目ヘッダのまま』『任意の絞り込み結果を表示』という使い方ができることが分かりました。これはこれで便利な使い方です。

ではお付き合いください。

やりたかったこと

アプリ設定画面に移動して、自分が欲しいと思うとおりの一覧画面を作ることは、kintoneを使い始めてかなり最初の段階で通る道かと思います。

https://jp.cybozu.help/k/ja/app/view/settings/set_view.html

いろんな絞り込みの組み合わせで、こんな感じのマトリックスでリンク集を作ろうとしてました。

会社名 製品について 受発注について お客様対応について その他
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