Power Apps初心者の方向けにPower Appsの基本概念を説明する試みです。
この記事では、
- 画面、コントロールなどのアプリの構成要素
- OnSelect、Text、Selectedなどのプロパティ
- プロパティの種類
を解説しています。
コントロールやプロパティなど粒度の細かい情報で迷子になっている初心者の方は、これらを構造的に理解するところから始めてみてください。
アプリの構成要素
アプリの構成要素はアプリ、画面、コントロールの3つがあり、アプリ : 画面 = 1 : N、画面 : コントロール = 1 : Nという関係性になっています。
これらの関係性はアプリのツリービューを見るとよくわかります。
アプリ(App)
1アプリごとにアプリオブジェクトをもち、アプリの起動時に実行される処理(OnStart)やアプリのサイズ(Size)などの、アプリ全体に関連する基幹的なプロパティを持ちます。
画面(Screen)
1アプリに複数の画面を作成することができ、この画面内に複数のコントロールを配置することができます。
画面が表示された時に実行される処理(OnVisible)や画面の背景(Fill, BackgroundImage)など、画面に関するプロパティを持ちます。
コントロール
ボタンやラベルなど、画面に配置することのできる要素をコントロールと呼びます。
コントロールはそれぞれに固有の役割・プロパティを持ちます。
プロパティ
「プロパティ」とはアプリの構成要素(アプリ・画面・コントロール)が持つ、
- テキスト、色や塗りつぶしなどの見た目
- どのデータを選択したか、どんなデータが入力されているかなどの情報
- アプリ上で何らかの操作がされた時に実行される処理
をテキストや数値などの静的な値または関数を用いた数式で動的に指定することのできる項目です。
また、入力プロパティにはプロパティに適したデータ型の値を指定する必要があります。
入力、出力プロパティに動作の数式を設定するとエラーになりますが、動作プロパティに非動作の値を入力してもエラーにならないので値やそのデータ型の確認に活用できます。
OnSelectプロパティくん、何でも受け入れてくれるじゃん…
— PPログ@100日ブロガー (@PowerPlatform4) January 10, 2024
デバッグがめっちゃ捗るのに今まで何で気が付かなかったんだろう。#PowerApps pic.twitter.com/nhz2PNEN6d
入力
アプリ作成時に数式バーに値を入力することのできるプロパティ(On〇〇〇を除く)が、入力プロパティです。
入力された値によって主に画面やコントロールの見た目が変化します。
代表例
- Text - ラベルやボタンなどに表示されるテキスト
- Items - ギャラリーなどのコントロールで一覧表示するテーブルデータ
- Visible - コントロールの表示/非表示を切り替えるためのブール値
- X, Y - コントロールの位置を指定する数値
- Width, Height - コントロールのサイズを指定する数値
出力
他のプロパティ内で参照させることのできるプロパティが、出力プロパティです。
他のプロパティで参照させないと確認することができないので、探してみると意外と知らない出力プロパティが見つかるかもしれません(編集フォームにありがち)。
代表例
- App.ActiveScreen - アプリで表示中の画面の情報
- Screen.Name - 画面の名前
- Gallery.Selected - ギャラリーで選択したレコード
- Form.Mode - フォームのモード。Form.Mode = 0/1/2を指定することで、現在のモードを判別可能。(0 = 編集, 1 = 新規, 2 = 表示)
- Form.Updates - データソースに対してフォームが更新しようとしているレコード値
入出力
入力、出力プロパティ両方の性質を持つプロパティが、入出力プロパティです。
入力した値がそのまま出力されるので複雑な数式の結果を出力したり、その結果を複数の箇所で参照したり、動的な変数のように利用することができます。
動作
頭にOnとつくプロパティが、動作プロパティです。
この動作プロパティにNavigate関数やSet関数などの動作の数式を設定することで、アプリがユーザーの操作に応じて動作するようになります。
ユーザーのアクションの種類に応じて様々な動作プロパティが用意されているので、動作プロパティの種類を把握するとアプリの動作に多様性が生まれます。
代表例
- App.OnStart - アプリの起動時に実行される処理
- Screen.OnVisible - 画面が表示された時に実行される処理
- OnSelect - ボタンなどのコントロールを押下した時に実行される処理
- OnChange - コンボボックスなどで選択されていたデータと別のデータを選択した時に実行される処理
- Form.OnSuccess - 編集フォームがエラーなくデータソースにデータを保存することができた時に実行される処理
コメント