おはようございます、こんにちは、こんばんは。先日は学習アプリ作成会にご参加いただきありがとうございました。今回もレポートとして記事を投稿いたします。分かりにくかった点は以下の動画#8をご覧ください。
また、記事に誤りがあった場合は、優しくご指摘いただけますと幸いです。なお、この記事は筆者が一方的に書いているものなので、文責はkuro.が負うものです。ご理解いただけますと幸いです。
動画#9
前回までに学習した関数たちをもとに、一括入力画面を作成しました。ForAll + Patchも無事クリアできたというところで、初級者脱却できたような、なんとなくの実感が沸きました。
学習アプリ作成会で使用した関数を中心に、ようさんのチャンネルで『関数解説シリーズ』としてリリースされています。チャンネル登録、高評価よろしくお願いします!
前回の復習(#8)
復習に関しては動画を視聴していただくか、当ブログの『Power Platform学習アプリ作成会#8』をお読みいただければと思います。Akiraさんのチャンネルは高評価と登録をよろしくお願いします
今回(#9)の目指すところ
英単語を入力するためのフォームを作成しました。新しく学習したのはReset関数で、それ以外はこれまでに学習したことのある関数で作ることができました。
テキスト入力ボックス>>コレクション
まずは入力するためのコントロールを配置します。
インプットボックスの命名は、それぞれ txtEnglish と txtJapanese と致しました。
注意するのは、直接データソースを操作しないようにすることです。詳細は次回(#10)で触れるはずですが、委任問題であったりアプリの動きを速くしたりするためにも、一度コレクション(colWordData)に落としてからSharePointリストに登録していきます。
Collect関数とClear関数
ギャラリー(galWordData)を作成し、テキスト入力ボックスに書いたものをコレクションのレコードとして拾い集めていきます(※btnSendのOnSelectプロパティに入力)
Collect(
colWordData,
{
English: txtEnglish.Text,
Japanese: txtJapanese.Text
}
)
Remove関数
galWordDataのテンプレートセルの×アイコンにRemove関数を入れ、選択されたアイテムを消去できるようにします。誤ったデータを登録しないようにする処理ですね。
Remove(colWordData,ThisItem)
Reset関数とSetFocus関数
このままでもフォームとしては機能しますが、もう少し使い勝手を良くするためにReset関数を使い、btnSendを押した時にコントロールを既定値(=今回は ” ” )に戻す処理を施します。
また、SetFocus関数を使って、btnSendを押した時に、マウス操作なしにtxtEnglishにテキスト入力できるように処理しました。
Collect(
colWordData,
{
English: txtEnglish.Text,
Japanese: txtJapanese.Text
}
);
Reset(txtEnglish);
Reset(txtJapanese);
SetFocus(txtEnglish)
コレクション>>SharePointリスト
登録ボタン(btnSubmit)にForAll関数とPatch関数を入れてcolWordDataをSharePointリストに追加登録します。また、ボタンを押した時にコレクションに入っていたデータをクリアできるようにしています
ForAll関数とPatch関数
ForAll + Patch によるデータの一括登録で注意する点は、ForAll関数の直後に登録元のデータを、Patch関数の直後には登録先のデータを引数に入れます。
この点に関しては英語のように「何を、どこに」で理解しておくと良さそうです。
第二引数の{ }内は、変数宣言の時と感覚は同じです。TitleにJapaneseを、answerにEnglishをそれぞれ入れていきます。
詳細は以下のコードをご覧ください。また、学習アプリ作成会#4で出現した表現なので、こちらも復習しておくと良さそうですね。
ForAll(
colWordData,
Patch(
EnglishQuestion,
{
Title: Japanese,
answer: English
}
)
);
Clear(colWordData)
SharePointを確認する時には、Power Appsのオーサリング・メニューからデータソースを選択し、該当データの三点リーダーから「編集」をクリックすることでたどり着くことができます。恐らく、これが最もクリック数の短い行き方だと思います(今までワッフルメニューからSharePointを選択していました)
次回に向けて
次回からは細かいところを調整していきます。委任問題であったり、データ型であったりにもメスを入れていただくことになると思います(?)
お楽しみに