1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GlideappsでListに複数項目の絞り込み検索条件を付ける

Last updated at Posted at 2022-06-19

アプリ概要

コーヒーのメニューがあり、それぞれに値段と出来上がり時間が設定されています。
フォームから値段と出来上がり時間の条件を選び、条件を絞り込んだリストを表示します。

動作

  1. 絞り込みボタンからフォームを開く
  2. 条件選択&送信
  3. 絞り込み結果を表示
    Glide 資料.001.jpeg

こちらから試せます
https://shocking-chalk-6859.glideapp.io/

スプレッドシート

使っているスプレッドシートはこちらです。

メニュー

コーヒーのメニュー
スクリーンショット 2021-05-24 22.08.46.png

検索履歴

絞り込み条件保存用
スクリーンショット 2021-05-24 21.58.13.png

選択肢

データシート
スクリーンショット 2021-05-24 22.08.51.png

仕組み

処理の説明をしていきます。

絞り込み条件をフォームで選択して、検索履歴に保存していきます。
そして、絞り込み結果を表示するためにこの検索条件を読み込んで開くというのが一番のミソです。

動作の細かい流れ

実際に行われている動作を詳しく書いていきます。

  1. 絞り込みボタンからフォームを開く
  2. 条件選択&送信
    1. フォーム送信(絞り込み条件が検索履歴に保存される)
    2. View detailsで画面遷移(保存された絞り込み条件をデータとして読み込みんだ画面に遷移)
  3. 絞り込み結果を表示
    1. フィルターで絞り込み条件を参照
    2. 結果表示

1つ1つの説明をしていきます。

各動作の説明

1. 絞り込みボタンからフォームを開く

ここのボタンのアクションはShow formを行っていれば大丈夫です。
スクリーンショット 2021-05-24 22.16.37.png

2. 条件選択&送信

2.1 フォーム送信

フォームのシートは検索履歴を選択しておきます。
フォームを送信するとここで選択したものが検索履歴に絞り込み条件として保存されます。
スクリーンショット 2021-05-24 22.20.08のコピー.png
各選択肢は、選択肢テーブルから項目を持ってきています。
オプションのRequiredをオンにすることで条件を設定しない状態で進むことを防止できるのでオンにしておきましょう。
フォームを送信するとここで選択したものが検索履歴に絞り込み条件として保存されます。
スクリーンショット 2021-05-24 22.18.15.png

2.2 View detailsで画面遷移

フォームには、送信した時の処理をON SUBMITから加えられます。
ここではView detailsを選択します。
こうすることで絞り込み条件を読み込んだスクリーンに画面遷移ができます。
スクリーンショット 2021-05-24 22.20.08のコピー2.png

3. 絞り込み結果を表示

フォームでView detailsを選択したことで、フォーム送信後は画面遷移します。
フォームで選択したものがちゃんと読み込まれているかは左側のDATAから確認ができます。
スクリーンショット 2021-05-24 22.34.14のコピー.png

3.1 フィルターで絞り込み条件を参照

画面にはInline Listを配置します。
データはメニューを選択します。
スクリーンショット 2021-05-24 22.43.03.png

フィルターの条件を設定します。
フィルターの条件からScreenという項目の中にフォームで選択した値が入っています。
スクリーンショット 2021-05-24 21.15.04.png

今回は値段と出来上がり時間の上限を選択した形なので、is less or eqaul toを比較条件に使います。
スクリーンショット 2021-05-24 21.14.36.png

完成!

これで完成です。
スクリーンショット 2021-05-24 22.54.39.png

あとがき

最初は検索条件を常に1つだけ保存するように作っていましたが、フォームからView detailで飛べることを知って今回の形になりました。Delete rowのタイミングに悩む必要がなくなったのが嬉しいです。
検索履歴はそのまま履歴として表示もできるので結構きれいな形にできたんじゃないかと思います。
リレーションも使っていないので実装しやすいのではないでしょうか。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?