式と機能
式を使用すると、コントロールが応答および機能する方法を変更できます。 たとえば、特定のシナリオでは、別のアクションが行われるまで、画面上のコントロールを非表示にしておくことができます。 これを行うには、簡単な式を記述して、コントロールの 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"})
TestScoresCollection を生成するには、キーボードで Alt キーを押しながら (またはアプリをプレビュー モードにして)、ボタンを選択します。
垂直ギャラリー コントロールを画面に挿入し、レイアウトをタイトルとサブタイトルに変更します。
データ ソースとして TestScoresCollection を選択します。 これで、ギャラリーは次のスクリーンショットのようになります。
ギャラリーの最初の行を選択して、新しいボタンをギャラリー自体に挿入します。
ボタンの Text プロパティを "Retake Test" に変更します。
ボタンを選択したまま、Visible プロパティに移動して次のコードを入力し、成績が "A" または "B" に等しくない受講生にのみこのボタンを表示します。
If(ThisItem.TestScore = "A" Or ThisItem.TestScore = "B", false,true)
このコードを入力すると、"A" または "B" を持つ受講生に対してボタンが表示されなくなります。 式の入力フィールドで Visible プロパティを確認すると、Copilot ボタンがあることに気づきます。 Copilot を使用すると、この (または任意の) 式に関する詳細をアプリで確認できます。
数式バーで Copilot ボタンを選択し、この式の説明 を選択します。 このスクリーンショットのような画面が表示されます。
Copilot このフォーミュラ式の説明 機能を利用すると、アプリ全体の式を理解するのに役立ちます。 また、コピー ボタンを使用して、Copilot の説明をキャプチャし、コードにコメントとして追加できます。 コードにコメントを追加するには、コード内の任意の行の前に二重スラッシュ "//" を追加します。 二重スラッシュを使用すると、Power Apps によって後続のコードが無視されるため、ドキュメント化に便利です。
//This expression checks if the TestScore of the current item is equal to "A" or "B". If it is, the expression returns false. Otherwise, it returns true.
この式をボタンの View プロパティに使用しましたが、ボタンの表示モードに影響を与えるロジックがこれに適用される可能性があります。 この場合、OnSelect プロパティの [Retake Test] ボタンにはコードを追加しませんでしたが、コントロールの応答方法を調整するアプリの動作を制御していると考えることができます。 式は true または false として評価されます。これはすべて、Power Apps が Visible プロパティに求める値です。 true/false の回答であるためこのコードは短縮することができますが、その点については次のユニットで説明します。