Power AppsのVisibleプロパティを使った活用方法

<p>
本記事ではPower Apps初心者の方に向けてVisibleプロパティを使ってPower Appsの画面をカスタマイズする方法を紹介します。
</p>

<h1>目次</h1>
<a href="#1.画面をカスタマイズした一例">1.画面をカスタマイズした一例</a><br>
<a href="#2.Visibleプロパティとは？">2.Visibleプロパティとは？</a><br>
<a href="#3.Visibleプロパティで出来ること(参考例)">3.Visibleプロパティで出来ること(参考例)</a><br>
<a href="#4.選択肢によって入力項目を変える方法">4.選択肢によって入力項目を変える方法</a><br>
<a href="#5.切り替えボタンによって項目の表示/非表示を切り替える方法">5.切り替えボタンによって項目の表示/非表示を切り替える方法</a><br>
<a href="#6.ダイアログを実装する方法">6.ダイアログを実装する方法</a><br>



<h1 id="1.画面をカスタマイズした一例">1.画面をカスタマイズした一例</h1>
<p>
例えば、本記事で紹介する方法を使うと選択内容に応じてフォームの表示する入力項目を切り替えることができます。<br>

特に何も設定しないとフォームにすべての入力項目を表示し、誰がどれに記入すべきか注釈等を一つ一つ加える必要がありますが、Visibleプロパティの設定を行えば画面を動的に切り替えることができます。<br>

何も設定しない場合<br>
![1何も設定しない.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/fad1f507-635a-4fda-8c36-50c2657361d3.png)<br>

Visibleプロパティの設定を行った場合<br>
![切り替え.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/613c7ff4-bff5-4256-b712-dfde1af01710.gif)<br>

今回はVisibleプロパティってどう使うの？と考えている方向けにいくつか活用方法を紹介いたします。<br>
</p>

<h1 id="2.Visibleプロパティとは？">2.Visibleプロパティとは？</h1>
<p>
Power AppsのコントロールのプロパティにVisibleというプロパティがあります。このVisibleプロパティを編集することでコントロールの表示を切り替えることが可能です。<br>
trueの場合にはコントロールを表示、falseの場合にはコントロールを非表示にします。<br>
※コントロール：ボタンや入力ボックスなどのパーツのこと<br>
※プロパティ：見た目、データの情報、何らかの操作がされたときに実行される処理などの設定が出来る項目のこと<br>

![3Visibleプロパティ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/8eba150d-d795-498b-b31e-57639c58694b.png)<br>
</p>

<h1 id="3.Visibleプロパティで出来ること(参考例)">3.Visibleプロパティで出来ること(参考例)</h1>
<p>
表示、非表示の切り替えという単純に見えるVisibleプロパティですが、ひと工夫加えることによってPower Appsの画面をリッチにすることができます。<br>
工夫の仕方は様々ですが、今回は「選択肢によって入力項目を変える方法」、「切り替えボタンによって項目の表示/非表示を切り替える方法」、「ダイアログを実装する方法」の3つを紹介します。<br>
</p>

<h1 id="4.選択肢によって入力項目を変える方法">4.選択肢によって入力項目を変える方法</h1>
<p>
アンケートフォーム等の中で「回答の選択肢によって次の質問を変える(条件分岐)」仕組みをPower Appsで実装する方法を下記に記載します。<br>

4-1．選択肢によって入力項目を変えたいフォームを準備します。
今回は編集フォームを使い、タイトル、本文、カテゴリの入力フィールドを使います。
また、カテゴリの選択肢には例として「お知らせ」、「秘密」の2つが設けられています。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/7a38f091-3a4b-48be-a60d-2a85b2860437.png)<br>


4-2.選択肢の入力フィールドを選択し、名前を変更します。
今回は記事内での表現をわかりやすくするためにCategoryに変更していますが、任意の名前で構いません。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/21abf1c2-78f5-4147-9745-ecf29e874813.png)<br>


4-3.”タイトル”の入力フィールドを選択し、Visibleプロパティに「If(Category.Selected.Value = “お知らせ”, true, false)」と入力します。
入力した際に”タイトル”の入力フィールドが非表示となります。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/c8121159-a18d-461e-85e3-d6b73585fbba.png)<br>


4-4.”本文”の入力フィールドも同じ要領でVisibleプロパティに「If(Category.Selected.Value = “秘密” , true, false)」と入力します。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/3141ae73-7bf3-44cc-b3c1-01b651863eab.png)


4-1～4-4の手順を行った結果として”お知らせ”を選択した場合はタイトルが表示され、”秘密”を選択した場合は本文の入力フィールドが表示されます。
![選択肢切り替え.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/e80c7d58-b9fe-4f14-9c22-f542711ba8ea.gif)
</p>

<h1 id="5.切り替えボタンによって項目の表示/非表示を切り替える方法">5.切り替えボタンによって項目の表示/非表示を切り替える方法</h1>
<p>
5-1.入力フォームを用意し、加えて”切り替え”コントロールを追加します。<br>

![切り替え1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/b5ea5c53-bc21-4665-b499-d1e8c78b7784.png)<br>


5-2. ”切り替え”コントロールを選択し、名前を変更します。
今回は記事内での表現をわかりやすくするためにToggleに変更していますが、任意の名前で構いません。
![切り替え2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/4fbd7011-402b-4d55-a3cc-5f6a9d66ee19.png)<br>


5-3. ”切り替え”コントロールのOnCheckプロパティに”true”を設定し、OnUncheckプロパティに”false”を設定します。
※OnCheckプロパティ、OnUncheckプロパティはトグルがオン/オフ状態になったときに実行するアクションやデータを定義する設定です。
今回は項目の表示/非表示を切り替える基準を定義しています。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/ac1b4443-6550-48e4-9114-eddd7a350afa.png)<br>


5-4. ”タイトル”の入力フィールドを選択し、Visibleプロパティに「If(Toggle.Value,true,false)」と入力します。
入力した際に”タイトル”の入力フィールドが非表示となります。
![5-4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/fd66a374-87a5-4b2e-aad5-26f3dd498698.png)<br>


5-5,”本文”の入力フィールドにもVisibleプロパティに「If(Toggle.Value,true,false)」と入力します。
![5-5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/cadffe56-4d59-4580-ba65-0624f768975f.png)<br>

1~4の手順を行った結果として”切り替え”コントロールをオンにした場合は、タイトルと本文が表示され、オフにした場合は、タイトルと本文が非表示になります。
![オンオフ切り替え.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/7319e992-d1a2-4406-a556-ce0853ff4b31.gif)
</p>

<h1 id="6.ダイアログを実装する方法<">6.ダイアログを実装する方法</h1>
<p>
6-1.ダイアログ用のパーツとボタンを用意します。下図では四角形とテキストラベルと”閉じる”ボタンをグループ化しており、”Dialog”グループと名前を設定しています。

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/e6a1db54-9fe9-436e-856b-03f68cfa3530.png)<br>

6-2.”ダイアログ表示”ボタンを選択し、OnSelectプロパティに「Set(popup,true)」と入力します。Set関数は、Power Appsで変数を定義し、その変数に値を設定するための関数です。変数は、アプリ内でデータを一時的に保存し、後で再利用するために使います。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/5a0a2b02-460c-4454-a1c8-44582989f009.png)<br>

6-3.”閉じる”ボタンを選択し、OnSelectプロパティに「Set(popup,false)」と入力します。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/1ad1d355-2b51-4392-944c-bc67b06d87d0.png)<br>

6-4.Dialog”グループ(下図の赤枠)をクリックし、Visibleプロパティに「popup」と入力します。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/f28704ba-f9f2-4f84-b142-6b60d97e40ee.png)<br>

1~4の手順を行った結果として”ダイアログ表示”ボタンをクリックするとダイアログが表示され、”閉じる”ボタンをクリックするとダイアログが非表示に切り替わります。
![ダイアログ.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3992355/b22119b0-6628-4d56-b735-87a8019b680c.gif)<br>
</p>

<h1>まとめ</h1>
<p>
Visibleプロパティを活用したPower Appsのカスタマイズの一例を紹介しました。<br>
Power Appsで「表示/非表示をコントロールするような実装をしたい」と思ったらまずはVisibleプロパティの設定から考えることをおすすめします。
</p>

<h1>最後に</h1>
<p>
テンダでは、「こんなプロジェクトに挑戦したい」「こんなチームで働きたい」「理想のチームを創りたい」と願う仲間を求めています。 
カジュアル面談も随時受付中です。ぜひ一度お話ししましょう。<br> 
<a href="https://hrmos.co/pages/tenda/jobs">募集職種一覧</a><br>
<a href="https://hrmos.co/pages/tenda/jobs/031002/apply">カジュアル面談の申込</a><br>
<a href="https://note.com/tenda_recruit">テンダで働く人や社風について</a><br>
</p>