Project OakdaleDataverse for Teamsも盛り上がってきて、これからDataverseを使用する機会が増えてきそう!!
ということで、今回はキャンバスアプリからDataverseへデータを追加する方法を2つご紹介。
※正確には、Project OakdaleDataverse for TeamsではDataverseの全機能は使えません。
Dataverseについて
Dataverseを簡単に説明すると、
「Microsoftが用意してくれている、高機能で簡単に使えるデータベース」
のこと。
データベースを作って使うのってけっこう手間だし知識が必要なんだけれど、このDataverseはとにかく簡単にデータベースが使える。
こちらの記事でDataverseについて非常にわかりやすく説明していただいけているので、ご紹介。
Power PlatformのCommon Data Serviceを利用する10の理由 - 吉田の備忘録
PowerAppsにはCommon Data Serviceというサービスがありますが、ほとんどの人に単なるデータベースだと思われがちで、SharePointのカスタムリストやSQLデータベースを選ばれてしまうことがあります。今回はなぜCo...
それでは今日の本題、キャンバスアプリからDataverseへデータを入れる方法。
使用するテーブル(旧エンティティ)
今回用意したテーブルはこちら! 「ねこ」テーブル。
追加した列は「名前」と「誕生日」くらい。
方法1:フォームコントロールを使う方法
まずは、フォームコントロールを使用する方法。
Share Point Onlineのリストとかにデータを新規作成/編集するときにも使用するこのフォームコントロールは、Dataverseへデータを入れるときにも使用できる。
まずは、フォームコントロールを「編集」で追加。
そしたら、「データに接続」からテーブル(今回はねこ)を選択する。
すると、アプリ内に「ねこ」テーブルが結びつくので、フォームコントロールの[データソース]で「ねこ」テーブルを選択する。
フォームとテーブルが結びつくと自動でDataCardが追加されるので、[フィールドの編集]でDataverseに追加したいデータ(列)を編集する。
今は[名前]と[作成日]が追加されているけど、今回追加したい「ねこ」のデータは[名前]と[誕生日]なので、[フィールドの追加]から
[誕生日]を追加し、
[作成日]を削除してあげる。
そしてDataCardの大きさをいい感じに整えてあげると、こんな感じになる。
今回はデータを追加する方法なので、フォームの[規定モード]を[新規]にしてあげて、
ボタンを追加してあげて、OnSelectにSubmitForm(フォーム名)と入れてあげれば、準備完了。
適当な名前と誕生日を入れて、ボタンを押してあげると、
テーブルにデータが追加されている!
アプリの方はこんな表示になってしまうんだけど、
これはフォームコントロールの仕様で、[既定モード]の[新規]の状態でデータの追加が完了すると、[モード]が[編集]に変わる。
[編集]モードにフォームが変わるんだけど、フォームのItem(編集するデータ)プロパティに何も指定していないから、「表示するアイテムがありません」という表示が出てしまう。
もし、今追加したデータ(最新のデータ)を編集モードに表示したい場合は、Itemプロパティにこんな感じで入れてあげれば、
Dataverseに最後に追加されたデータがItemプロパティに指定されるので、[新規]→[編集]へとフォームが移行し、新規追加したデータをそのまま編集できるようになる。
フォームの内容を編集して、もう1度ボタンを押すと(SubmitFormを呼び出すと)
レコードの更新もできる。
キャンバスアプリからDataverseのデータを追加/更新する方法に、Patch関数を使用する方法もあるのだけれど、ちょっと記事が長くなっちゃったのでまた次回の記事で紹介します~
コメント