PowerAppsで、入力ボックスのTextをボタンで設定する方法
Q&A
Closed
解決したいこと
PowerAppsでアプリをつくっています。
・入力ボックスのTextをボタンアイテムを押下したときに書き換えたいです。
・ギャラリー内に配置されている入力ボックスのDefaultには、SharePointのデータが初期値として取り込まれます。
・ギャラリー画面で取り込んだ値を変更して一気にアップロードすることはできていますが、
ユーザーの利便性を高めるため、ボタンを押したら決まった値を入力ボックスに入れたいです。
(○だったら10、×だったら0)
どのように実現すればよいのかわからず困っています。助けて頂けないでしょうか。
自分で試したこと
ギャラリーの外でテキスト入力とぼたんを用意していろいろ試してみました。
・試したこと1
ギャラリーの外に入力ボックスTextInputとボタンを配置し
ボタンのOnSelectプロパティに
UpdateContext({TextInput:10});
と記述しましたが、エラーは出ないのですが、10も入りませんでした。
・試したこと2
ボタンのOnSelectプロパティに
UpdateContext({TextInput.Text:10});
・試したこと3
入力ボックスTextInputのDefaultに変数varを設定し、ボタンのOnSelectに
UpdateContext({var:10});
を設定すると、Default値が10に設定されると同時に、
1回だけ入力ボックスのTextも10になりました。
どうやら、Defaultに設定している変数の値が変化すると、Textの値も書き換わるようです。
そして、Textが10に設定された後、入力ボックスの値を操作することもできたので一瞬喜んだのですが・・・
その後にボタンを押しても、10は2度と入りませんでした。
どうやらDefaultに設定されている値が10から10に代わるだけで変化しないので、Textが書き換わらないようです。
・試したこと4
それならばということで、試したこと3に追加して、入力ボックスのOnChangeに
UpdateContext({var:0});
と記述してみました。これで、入力ボックスの値を変えたら、Defaultが0になるので、ボタンで10が設定できるだろうと・・・。
ところがやってみると、10は入るようになりましたが、入力ボックスの値を変更した瞬間に値が0に置き換わってしまうようになってしまいました。
当然ですね。入力ボックスのDefault値が書き換わったので、0がTextに入ってしまったようです・・・。
シンプルに、ボタンを押したとき
入力ボックスのTextを10に設定することはできないのでしょうか?
そして、更にややこしいのですが、入力ボックスとボタンがギャラリーの中にある場合、
どのように指定すればよいでしょうか?
ThisItemを使うのか?とも思ったのですが、
ThisItemはギャラリーのデータ要素は候補に出てきますが
入力ボックスTextInputは候補に出てきません・・・
何か別の書き方があるのか?
そもそもギャラリー内のアイテムの指定は出来ないのか?
どう調べたらよいのかわからず困っております。
次善の策として、
ギャラリーからレコードを選択したら、そのレコードだけの編集画面を開いてそこで編集すればよいと考える方がいらっしゃるかもしれません。
むしろそれが正しいPowerAppsの作り方だと・・・
ただ・・・私が作成しているアプリケーションの場合、レコード数が多いので、
1レコード毎にいちいち編集画面に移動するのは、ユーザーの同意を得られないだろうと危惧しています。
長々と申し訳ありません。
どなたかわかる方がいらっしゃいましたら、ご教授の程よろしくお願い申し上げます。