式と機能
式を使用すると、コントロールが応答および機能する方法を変更できます。 たとえば、特定のシナリオでは、別のアクションが行われるまで、画面上のコントロールを非表示にしておくことができます。 これを行うには、簡単な式を記述して、コントロールの Visible プロパティを更新します。 または、コントロールを非表示にする代わりに、DisplayMode プロパティを View に設定します。こうすると、そのコントロールは編集できなくなります。 キャンバス アプリにこの種の式を実装できるシナリオは数多くあります。 キャンバス アプリで式を利用して、コントロールの DisplayMode や Visible プロパティを変更することで、よりユーザー フレンドリなアプリを開発できます。
データ ソースの情報に基づいて、ギャラリーのボタンを表示したり非表示にしたりするために、この式を適用する方法を見てみましょう。 この例では、"TestScoresCollection" というコレクションを作成します。 その後、既存のキャンバス アプリを開いて、新しい画面を作成することができます。
画面にボタン コントロールを挿入します。
そのボタンの OnSelect プロパティを次に設定します。
ClearCollect(TestScoresCollection,{Name:"Student 1", TestScore:"B"},{Name:"Student 2", TestScore:"C"},{Name:"Student 3",TestScore:"A"},{Name:"Student 4", TestScore:"C"},{Name:"Student 5", TestScore:"A"})
キーボードで Alt キーを押しながら (またはアプリをプレビュー モードにして、)、TestScoresCollection を生成するボタンを選択します。
垂直ギャラリー コントロールを画面に挿入します。
データ ソースとして TestScoresCollection を選択します。ギャラリーは次のようになります。
ギャラリーの最初の行を選択して、新しいボタンをギャラリー自体に挿入します。
ボタンの Text プロパティを "Retake Test" に変更します。
ボタンを選択したまま、Visible プロパティに移動して次のコードを入力し、成績が "A" または "B" に等しくない受講生にのみこのボタンを表示します。
If(ThisItem.TestScore = "A" Or ThisItem.TestScore = "B",false,true)
この式をボタンの View プロパティに使用しましたが、ボタンの表示モードに影響を与えるロジックがこれに適用される可能性があります。 この場合、[Retake Test] ボタンにはコードを追加しませんでしたが、コントロールの応答方法を調整するアプリの動作を制御していると考えることができます。 式は true または false として評価されます。これはすべて、Power Apps が Visible プロパティに求める値です。 true/false の回答であるためこのコードは短縮することができますが、その点については次のユニットで説明します。