【AppSheet】脱初心者!ボタンを条件で出し分けるにはCONTEXT()関数が使える件
AppSheetを作りこんでいくと、
「この画面だけ○○したいんだよね!」
なーんてシーンが出てくることがあると思います。
今回は、関数を使ったボタンの出し分けを例に挙げながら、
UIの出し分けで活用できる、
「CONTEXT()関数」について解説していこうと思います。
今回の公式ヘルプはこちらです
そもそもCONTEXTってなんだ?
CONTEXTって聞いたことはあるけど、
意味がピンと来なかったのでそこから調べてみました。
つまり、利用者の意図や状況、環境によって処理を出し分けてくれる関数と言うことですね。
まさに今回やろうとしていること!
ある意味、言葉通りの関数です。
CONTEXTを使うとどうなる?
条件によって出し分けてくれるとのことなので、if文と似てるっぽい。
ですが、引数は状態に関わるものになります。
例えば、"VIEW"や"VIEWTYPE"を渡すと画面状態で制御できたり、"Host"を渡すとデバイス状況で制御できるようです。
今回はViewの名前での制御ですが、
他にもPCとスマホのUIを分けたり応用ができそうです。
具体的なCONTEXTの利用用途、
画面でボタンを出し分ける
アクションを作成したときのデフォルトの動きを見てみる
ここからは、具体的な使い方を見ていきましょう。
(画面の細かなところは省くので、赤枠付近だけ注目すればOK)
基本的に、アクションは特定のテーブルに紐づくので、
そのテーブルを使っている画面全部に影響があります。
例えば、
T_Shippingというテーブルにアクションを作ると、
T_Shippingを使った画面全部に影響があります。
(どこに表示されるかはアクションの種類によっても違う模様)
CONTEXT関数を使ってみる
でも、場合によっては「この画面だけにボタンを表示させたいんだ!」なんてこともありますよね。
そんな時に、CONTEXT関数の出番です!
例えば、出庫一覧画面にだけボタンを出してみましょう。
ちなみに、
CONTEXT関数の利用方法はこんな感じ。
CONTEXT(option)
今回は画面の名前で出し分けがしたいので、
optionには、Viewを設定していきます。
そうするとこうなる↓
CONTEXT("View")
更に、Viewの名前が出庫一覧の時なので
CONTEXT("View")="出庫一覧"
とするわけです。
ちなみに、”SAVE”をしないと画面反映されないのでお忘れなく!
CONTEXT関数で出し分けたボタンを確認する
さっそく2つの画面を見比べていきます。
見てください!
ボタンを特定の画面だけに表示をすることができました。
ちょっとしたことですが、
・この画面だけで別の画面に遷移させたい
・この画面だけでCSVをダウンロードさせたい
など、
作りこんでいくと活躍する場面がありそうです。
いかがだったでしょうか?
こういった細かな制御ができてくると、痒い所に手が届く作りにできますよね。ぜひ参考にしてもらえると嬉しいです。
最近は、AppSheetの勉強を頑張っています。
こちらに記事をまとめているので、ぜひ他の記事も参考にしてもらえると嬉しいです。同志募集中!