今回の投稿背景
来客受付の電子化は好評です。
実際はタブレットに表示しているのですが
入力には手書き入力IMEを使用しています。
バッテリが死んでいるSurface 2 RT(Windows 8.1 RT)と
Androidタブレットの両方で試していますが
やはり入力するとなると手書き認識に時間がかかってしまい
スムーズな登録とはちょっと言えません。
なので来訪が分かっているお客様には
予め予約番号を発行しておいて、それを入力させるってのが
一番スマートなんじゃないかなという妄想に駆られました
とりあえずデモ
Twitterに動画を上げましたので、そちらを埋め込んでみました。
#PowerApps で#入力ボタン#作ってみた
— りなたむ@steed400 (@R_t_A_n_M) 2018年7月9日
これでわざわざキーボード呼び出しをする必要もないから便利になるかも!#inputbutton#button pic.twitter.com/mQ8eZ0ZBqD
作り方
材料
ラベル・・・・・・・・ 1個(コンテキスト変数表示用)
ボタン・・・・・・・・11個(0~9の入力ボタン+クリアボタン)
コンテキスト変数・・・ 1個
手順
- ラベルを1つ作ります。名前はTextboxとします。
- TextboxのTextプロパティにVar1をセットします。
- ボタンを1つ作ります。名前はPush1とします。
- Push1のTextプロパティに1をセットします。
- OnSelectプロパティに右の内容をセットします。
UpdateContext({Var1: Var1&Push1.Text})
- Push1を9個コピーし、Push2~0を作成します。それぞれのTextプロパティも2~0をそれぞれセットします。
- ボタンを新しく一つ作ります。名前はCLEARとします。
- Onselectプロパティに右の内容をセットします。
UpdateContext({Var1: ""})
完成画面
解説
変数についてはこちらのサイトを参考
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/working-with-variables
ラベルはTextプロパティの内容を表示する機能なので
Textプロパティにコンテキスト変数のVar1を指定。
各ボタンには0~9まで番号をこれまたTextプロパティに指定していて、それがボタンの表示に使用されている。
Push1.Text
とすると、戻り値はPush1のTextプロパティの値(1)を返してくれるので
それをコンテキスト変数のVar1に代入しているという感じ。
Var1に代入されたら、それを表示するようにTextboxに宣言しているので、表示されるという仕組み。
ただ、さっきのリンク先サイトのように
変数に+で新たな数値を入れると、加算扱いとなってしまう。
※Excelも一緒
なので、&を使用することで文字列結合を行うことができる。
コンテキスト変数を使用したのは、この画面内のみで使用するため。
実際に使用するときも、検索用途しか使わないので。
アプリ内の共通変数として使いたいなら、グローバル変数とかコレクション変数を使うのかな
まとめ
関数の使い方はほんとExcelにめっちゃ似てる。
変数の考え方がいくつかあるからちょっとその辺はよく整理しないと
実運用のときに苦労するかも
ちなみに、作成時間は試行錯誤含めて20分ぐらいです。
むしろこの投稿をするのに時間かかってるわww