Power Appsのテキスト入力コントロール(以下テキストボックス)には「Textプロパティ」が存在しない。
ラベルコントロール(以下ラベル)には「Textプロパティ」が存在するところを見ると、これはPower Appsが「ユーザに情報を表示する」コントロールと「ユーザに情報を入力させる」コントロールを明確に使い分けて欲しがっているような気がする。
それでも、どうしてもテキストボックスのテキストをアプリ側から操作したい場合もある。
そんなときにはこの方法。
テキストボックスのテキストをアプリ側から操作する
使用するのは「Default」プロパティ。
「Default」プロパティに表示したい変数を設定し、その変数の値を変更するとテキストボックスの内容が変わる。
手順
まずはテキストボックスとボタンを用意。ラベルはおまけ。
アプリのOnStartで変数を1つ用意。
テキストボックスのDefaultプロパティに作った変数を入れる。
ラベルにもおまけで同じ変数をセット。
ボタンを押すと変数の値が変わる(hogehoge→hogehoge2)ようにする。
アプリ起動時はhogehoge。
ボタンを押すと変数の値hogehoge2に代わる
補足
ちなみに、Defaultプロパティに設定された変数の値が変わらない限り、何度ボタンを押してもテキストボックスのテキストは変わらない。
つまり、
- デフォルト:hogehoge
- ユーザが入力:hogehogehoge
- ボタン押下:hogehogehogeのまま
という感じ。
ここで、ボタン押下時にhogehogeに直したい場合は、ボタンのOnSelectアクションの中でReset関数を呼んでやるとよい。
こうやってテキストボックスのテキストをアプリ側から変更してやることはできるが、Power Apps的には「ユーザの入力」と「ユーザへの情報表示」は画面遷移込み(フォームのNewかEditモードとViewモード)でやってほしい気がしているので、この方法はあまり多用すべきじゃないと思ってる。
コメント