4
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

プログラミングの知識が無くてもアプリが作れる PowerApps を試してみた(4)

Last updated at Posted at 2016-12-28

前回の記事 では、テンプレートから作成した Asset Checkout アプリを使用して、コントロールのデザインやデータバインドについて確認した。今回も引き続き同じアプリを使用して、コントロールのアクションや、関数、変数ついて調べていこうと思う。

アクション

アクションとは、「ボタンをクリックする」や「セレクトボックスの選択肢を変更する」のようなユーザー操作(イベント)が行われたときに、何らかの "動作" を実行することである。PowerApps アプリをダイナミックに動かすには、イベントに対して何らかのアクションを設定していくことになる。
以下の例では、Rectangle コントロールの OnSelect イベントで、Navigate 関数を使用したアクションが設定されている。Navigate 関数は他の画面へ移動するための関数で、CategoriesScreen 画面へ移動するアクションとして設定されている。
image

主なイベントとして、以下のものが挙げられる。コントロールや画面によって、設定できるイベントが異なる。

イベント 内容
OnSelect コントロールをクリック、またはタップしたときに、アクションが実行される。
OnChange コントロールの値が変化したときに、アクションが実行される。
OnVisible 画面が表示されたときに、アクションが実行される。
OnHidden 画面が非表示になったときに、アクションが実行される。

関数

アクションは、関数をひとつ、または複数組み合わせて呼びだすことで実現している。アクションで使用する関数には、ページを移動するときの Navigate 関数、データを更新するときの SubmitForm 関数などがある。
image
また、関数はアクションだけでなく、コントロールのプロパティにも使用できる。コントロールのデザインで色を指定する RGBA 関数や ColorValue 関数が代表的である。
image

ここはなんとなくプログラミングっぽいところではあるが、Excel の関数を使ったことがあるのであれば、使いこなすのにそれほど苦労はしないであろう。関数は多数あるので、以下のリファレンスを参考にしていただきたい。

Formula reference for PowerApps
https://powerapps.microsoft.com/en-us/tutorials/formula-reference/

変数

画面内で使用する変数を定義するときは、UpdateContext 関数を使用する。以下の例では、HomeScreen の OnVisible イベントで、title という変数に "Asset Checkout" という文字列をセットしたところである。変数の指定は、{<変数名>:<値>, <変数名>:<値>, ... } のように行う。
image

作成した変数は、画面内にあるコントロールのアクションやプロパティで使用できる。以下の例では、TextBox2 の Text プロパティに、先ほど作成した title 変数を指定したところである。
image

画面をまたいで変数をセットすることも可能である。画面遷移の Navigate 関数の 3 つ目の引数に、変数を指定するだけである。
image

上図の例では、category という名前の変数に、ThisItem.CategoryName をセットしている。ThisItem とは、何らかのデータソースとデータバインドされているリストコントロールにおいて、選択中のリストアイテムと紐づくデータ(レコード)のことである。これを使用すれば、移動元画面で使用したデータを、移動先の画面に引き渡すことができる。
image

プロパティ参照

コントロールのプロパティは、別のコントロールから簡単に参照できる。例えば、HomeScreen 画面にある TextBox2 の Tooltip プロパティの値を、別の画面 ReviewDetailsScreen の TextBox2_4 の Tooltip プロパティから参照してみる。参照するときは <コントロール名>.<プロパティ> のように指定する。
image
image

例のように、プロパティは 画面をまたいで参照指定ができる(コントロールの名前は、すべての画面で一意にする必要がある)ので、Navigate 関数での変数渡しと うまく使い分ける必要がありそうだ。

まとめ

前回と今回の記事で、テンプレートで作成したアプリから、データバインドやアクション、プロパティなどの PowerApps アプリの大まかな仕組みを学んだ。次回からは、実際にゼロからアプリを作成し、より詳しく PowerApps を理解していこうと思う。

参考文献

Formula reference for PowerApps
https://powerapps.microsoft.com/en-us/tutorials/formula-reference/

Controls and properties in PowerApps
https://powerapps.microsoft.com/ja-jp/tutorials/reference-properties/

4
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?