PowerApps でアプリを作成している最中に「データソース(データストア)的には任意入力の項目なんだけども、アプリ的(仕様的)には必須にしたい」という状況にいたることは少なくないと思います。そんな時、どうすればいいのか?というネタです。
初心者の方が手順を追って検証できるように細かく説明していきます。PowerApps経験者で結論だけ欲しい方は、記事メニューから末尾へGoです。
利用するデータソースの準備
要点だけお伝えしたいので、SharePoint Online(以降、SPO)のカスタムリストで項目を1つだけ追加したモノを準備します。
SPOでサイトを作成 → [列の追加]クリック → [1行テキスト]選択 → [名前]に"hoge"と入力して「保存」ボタンを押下。
上記手順で作成すると、リスト上は作成したhoge列が必須入力ではありません。(必須入力にしたい場合は[この列に情報が含まれている必要があります]を”はい”にする必要があります)
PowerApps アプリを生成する
今回は、SPOリストの画面から直接PowerAppsのアプリを自動で生成してしまいます。
これで、検証用のアプリができました。簡単♪
データソース上は任意項目を必須にする(本題)
ここからが本題です。先ほど作成したデータソースであるSPOのリスト上、hoge列は任意入力です。これをアプリ上では必須にしましょう。
-
必須にしたい DataCard コントロールを選択
任意から必須入力へ変更したい DataCard コントロールを選択します。手順が2通りほどあるので、イメージを張り付けた後で説明します。
手順1:左のツリーメニューから[EditForm]を選択 → 該当の[DataCard]を選択する
手順2:画面中央のアプリ画面で、該当の[DataCard]を選択する今回、DataCardコントロール(配下にErrorMessageや、DataCardValueを持ってるコントロール)を選択する必要があります。個人的に、慣れないウチは手順1で選択したほうが確実だとおもいます。
-
『Required』プロパティを True にする
上記No.2の手順で選択したDataCardコントロールの[Required]プロパティを True にします。該当のコントロールが、画面上"*"がついて必須になったことが把握できるかと思います。
これが必須入力化の際に必要な、たった1つの手順です。長々と書きましたが、コレだけなんですよ。
まとめ
データソース上で任意項目を、アプリ上は必須にする場合は、
DataCardコントロールの[Required]プロパティをTrueにする
だけです。
気をつけるポイントは、テキスト入力コントロール等を操作するのではなく、それを統括しているDataCardコントロールにアプローチする、という点ですね。
■参考URL
PowerApps のカード コントロール
こんな感じで、お仕事などでよく質問されるようなポイントや、自分がド忘れてしまうTip's等を今後もネタにしていこうかと思います。皆さまの参考になれば幸い。