# ステータスによるボタン表示の切り替え方

**URL:** <https://www.nocode-faq.com/t/topic/1442>\
**Category:** Adalo\
**Tags:** ツールの操作方法\
**Created:** [2021 年 4 月 17 日午後 11:21 UTC](https://www.nocode-faq.com/t/topic/1442 "2021-04-17T23:21:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wataru](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/wataru/32/2147_2.png) [@Wataru](https://www.nocode-faq.com/u/Wataru)\
**Post date:** [2021 年 4 月 17 日午後 11:21 UTC](https://www.nocode-faq.com/t/topic/1442/1 "2021-04-17T23:21:59Z")

</div>

Adalo勉強中です！また質問させてください🙇‍♂️

アプリの中でイベントを作り、ユーザーがイベント参加ボタンを押して参加する仕組みを作りたいです。  
「参加」ボタンを押すとボタン名が「参加申請中」にかわり非活性とし、管理画面から承認されたら「イベント参加中」になり、イベントが終了したら「イベント終了」というボタン名に変えたいです。  
・・・ですが、このボタンの切替の仕方が分からず、、、  
そもそもこういうステータスの状態によりボタンを切り替えることはAdaloで実現出来ますでしょうか？

私が試した方法は以下です。

UsersとEventsというテーブルがあるので、それらを関連付けるEventParticipantsという関連テーブルを作りそこにステータスを持って、それを見てボタン切り替えが出来ないかと考えました。  
しかし「Sometimes Visible」のところではそのステータスを見ることが出来ないようで、、、（できる方法ありますでしょうか？パッと見、「あるカラムにカレントユーザーが含まれるか」は出来ますが、カラムの値を見ることが出来なさそうに思いましたがいかがでしょう？）

そもそもこれはAdaloでは出来ないのか代替手段があるのか知りたく！  
ご存じの方がいらっしゃいましたらご教示頂ければと、、、🙇‍♂️

よろしくお願い致します！

---

<div class="post-metadata">

**Author:** ![tsubasa](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/tsubasa/32/8670_2.png) [@tsubasa](https://www.nocode-faq.com/u/tsubasa)\
**Post date:** [2021 年 4 月 18 日午前 5:15 UTC](https://www.nocode-faq.com/t/topic/1442/2 "2021-04-18T05:15:52Z")

</div>

可能です。EventParticipantsの作り方が間違っており、EventsのPro能です。EventParticipantsの作り方が間違っており、EventsのPropatyにEventParticipantsを作ってあげればOkです。

> **[Gyazo](https://gyazo.com/6dd54f0dac4b4f9ffaca49ea8ce803dd)**

そこで、  
User  
Event  
└EventParticipants（イベント終了フラグ）

という構成です。

> **[Gyazo](https://gyazo.com/6dd54f0dac4b4f9ffaca49ea8ce803dd)**

また、  
＞パッと見、「あるカラムにカレントユーザーが含まれるか」は出来ますが、カラムの値を見ることが出来なさそうに思いましたがいかがでしょう？）

また、ここを見る限り、対象のScreenにデータが来てないのだと思います。

「Sometimes Visible」では、対象のリストを特定できるものが無いと、選ぶことはできません。

> **[Gyazo](https://gyazo.com/df8200ff15ffff7c99d304147e9bf36f)**

> **[Gyazo](https://gyazo.com/78fc07fc4d439e72130430bb8f1029c2)**

---

<div class="post-metadata">

**Author:** ![Wataru](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/wataru/32/2147_2.png) [@Wataru](https://www.nocode-faq.com/u/Wataru)\
**Post date:** [2021 年 4 月 19 日午前 7:58 UTC](https://www.nocode-faq.com/t/topic/1442/3 "2021-04-19T07:58:08Z")

</div>

ご回答ありがとうございます！  
試してみます！！

---

<div class="post-metadata">

**Author:** ![Wataru](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/wataru/32/2147_2.png) [@Wataru](https://www.nocode-faq.com/u/Wataru)\
**Post date:** [2021 年 4 月 19 日午後 10:38 UTC](https://www.nocode-faq.com/t/topic/1442/4 "2021-04-19T22:38:42Z")

</div>

すみません、頂いたヒントを元に考えてみましたがまだ良くわかっていなく出来ていないので、もう一度質問させてください。すみません 🙇‍♂️ 🙇‍♂️

User  
Event  
└EventParticipants（イベント終了フラグ）

↑ご指摘頂いたこちらの構成だと、EventParticipantsはTrue/Falseのフラグのイメージですよね？  
改めて実現したいことを画像で貼らせて頂きましたが、複数の条件でボタンの切り替えを行いたいと思っています。

- 初期状態：「このイベントに参加する」
- 参加ボタン押下後：「イベント申込中」
- 参加が承認された後：「イベント参加中」
- イベントが終了した時：「イベント終了」

ですので、Eventテーブルには「イベントが終了しているか否かを示すフラグ」と「あるUserがどの承認ステータス（初期状態、申請中、未承認）にあるか」の両方を知る必要があります。  
イメージは以下のような構成です。

- Users
- Events  
└ イベント毎の終了フラグ（True/False）  
└ User毎の承認ステータス（初期状態、申請中、未承認）

ですが、教えていただいたEventsの中にフラグを持つというやり方だとイベント終了フラグは分かり確認できるのですが、User毎の承認ステータスをどう判断していいか分からず、、、  
（僕がよくわかっていなく勘違いしてるかもで、すみません。。）

もしやり方がありましたらご教示頂けると嬉しいです。  
よろしくお願い致します 🙇‍♂️

 ![スクリーンショット 2021-04-20 7.07.39](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/f/f398e7ec4a9b99427fd8dedf71c0139ce7eeaeac.png) ![スクリーンショット 2021-04-20 7.10.56](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/2/2652546431189a8bdb8ea79dbd1885d474c85d1b.png)

---

<div class="post-metadata">

**Author:** ![tsubasa](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/tsubasa/32/8670_2.png) [@tsubasa](https://www.nocode-faq.com/u/tsubasa)\
**Post date:** [2021 年 4 月 20 日午後 3:27 UTC](https://www.nocode-faq.com/t/topic/1442/5 "2021-04-20T15:27:16Z")

</div>

申し訳ないです。条件分岐の説明があいまいでしたね💦  
おっしゃる通り、EventParticipantは、True or False です。

一画面での遷移なのですね💦  
私の方も勘違いしているところがありました。申し訳ないです。

検証するのが、大変なので、理論的なところで恐縮なのですが、  
Event-List という  
UserとEventの両方にRelationしているEvent-List を作ればどうでしょうか？

Data  
■User  
■Event-List  
└User とのRelation  
└User とのRelation  
└Aprove ☑

■Event

> **[Gyazo](https://gyazo.com/846274989689056c915aa1aac10ece62)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

データ構造

> **[Gyazo](https://gyazo.com/0701f42c2bd423d5596d76e32cd63577)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

イベントの分岐としては、  
①Event 現在の時間よりも前後 で分岐  
②Event List で -Current Eventに対して申し込みをしているか？  
③Event-List のAprove しているか？

などで分岐していく必要があると思います。  
ポイントは、すべて、Groupに対してSometimeVisibleを設定して、コンポーネント自体をグループしてあげることです。

全体の遷移図はこんな感じです。

> **[Gyazo](https://gyazo.com/10524f82cc6a557075dd84e487469e0c)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

上記、Groupの遷移を結構作りこみしないといけないので、  
シンプルに作りたいのであれば、

> 参加が承認された後：「イベント参加中」

ここだけ【別】のスクリーンで表示したり、別途メールでお知らせしますにすれば、かなり簡単になると思います。

よくイベントページであるのが、  
My プロフィールから、イベント参加承認の有無を確認できるとか。  
\*イベントページには、参加可否は、Myプロフィールで確認ください。の文言を入れておく

などの方が良いとは、思いました。

---

<div class="post-metadata">

**Author:** ![Wataru](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/wataru/32/2147_2.png) [@Wataru](https://www.nocode-faq.com/u/Wataru)\
**Post date:** [2021 年 4 月 21 日午前 10:08 UTC](https://www.nocode-faq.com/t/topic/1442/6 "2021-04-21T10:08:41Z")

</div>

とても丁寧にご説明頂きありがとうございます！！  
今からGroupの遷移の作り込みを試して見ます！！！ 🙇‍♂️

また、回避策のアイデアもとても参考になりました！なるほどですね、ありがとうございます！

---

<div class="post-metadata">

**Author:** ![Wataru](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/wataru/32/2147_2.png) [@Wataru](https://www.nocode-faq.com/u/Wataru)\
**Post date:** [2021 年 4 月 21 日午後 12:44 UTC](https://www.nocode-faq.com/t/topic/1442/7 "2021-04-21T12:44:17Z")

</div>

上記方法で試してみたところ、Groupの切り分け方針で実現することが出来ました！  
丁寧にフロー図まで作りご説明いただき、ありがとうございました！  
とても勉強になりました！ 🙇‍♂️ 🙇‍♂️ 🙇‍♂️
