「URL内のクエリで、表示するレコードの条件を指定」でビューとクエリを同時に指定する方法

何を実現したいのかを書きましょう

↑の投稿を参考に「URL内のクエリで、表示するレコードの条件を指定」を試しており、一覧の絞り込み&ソートの条件に特定のクエリを追加して一覧に表示させたいです。

発生した問題やエラーメッセージを具体的に書きましょう

クエリの条件だけ反映されて、一覧の絞り込み&ソートの条件が無視されてしまいます。

実行したコードをコピー&ペーストしましょう

Chromeのアドレスバーから、「/?」以降をコピーしてみました。
どこがおかしいかご教授いただけないでしょうか。

/?view=6429537&query=エンドユーザー名%20like%20"西日本"

よろしくお願いします。

たしかに、試してみると query= で指定していると一覧は指定されますが、一覧で保存した絞り込み&ソートは上書きされてしまいますね。
query の指定と保存した条件は競合もありえることを考えると仕様にもみえますね(厳格に知りたければ問い合わせるしかないかと)。
一覧で保存した絞り込みはあくまでデフォルトの絞り込み、と思ったほうがよさそうですね。

ではどう回避するかですが、その query に絞り込み&ソート自体指定にいれちゃえばいいかと思いますがどうでしょうか。

muraさんありがとうございます。

確かにそのあたりを考慮すると仕様なのかもしれないですね。

回避方法についてご指摘の通りだと思います。
試しに「kintone.app.getQueryCondition()」で一覧画面開いたときの絞り込み&ソートを取得しqueryに追加する方法も考えたのですが、これだと続けて別のqueryを指定したい時に、その前に指定していたqueryもくっついちゃうので何かいい方法はないでしょうか。
※後だしになって申し訳ないのですが、一覧に検索ボックスを置いて簡易検索させたいと考えています。

一覧の設定情報を取得できるAPIもあるみたいですが、ちょっと大掛かりになる気がするのでできれば他の方法で回避できると嬉しいなと思っています。

これだと続けて別のqueryを指定したい時に、その前に指定していたqueryもくっついちゃうので何かいい方法はないでしょうか。

あーなんとなくイメージはわかりました、検索を続けてやる場合がありうるってことですね。その時のデフォルトのQueryの保持どうするかと。
getQueryCondition() で取得して保持するパターンだと、パッと思いついたのは下記ですかね。

  1. デフォルトとなる検索条件を query 以外のkintoneでも利用されないパラメータで保持し、実際に検索するときにそれを利用して組み立てる
  2. デフォルトとなる検索条件をローカルストレージ等に保存して実際に検索するときにそれを利用して組み立てる

etc

ただ、そうするとデフォルトの検索条件を保持してるのか、検索した後の条件を保持してるのかは判定むずかしいような気がしますね
かといってコードに埋め込むと設定変更したときに差分がでてしまうのもありますよね

一覧の設定を替えうること、 query 付きでアクセスしたときにはデフォルトが取得できない等々を考えると、まわりまわって設定情報を取得するAPIを呼んだほうが低コストな気もしてきましたねw

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。