LoginSignup
8
3

More than 1 year has passed since last update.

#PowerApps のデータから作るアプリに選択したレコードの内容をコピーする機能を実装する方法

Posted at

Power Apps には、一から作成するだけでなく、データから作成する方法もあります。
いろんなデータソースを元に、自動的にいい感じのアプリを作ってくれる素晴らしい機能です。

image.png

下手すれば、たった数オペレーションでできてしまうという優れもの。
この「データから開始」という機能、Power Apps を使っている皆さんなら、一度は使ったことがある機能じゃないかと思います。

ですが、生成されたアプリの機能は

  • 新規作成
  • 編集
  • 削除

この3つだけです。

でも、特定のレコードを「コピー」して「新規作成」したいという要望は非常に多いと思います。

そこで、本投稿では、新規作成時に、内容をコピーする機能を実装する方法を記載したいと思います。

まずはアプリを作成します

とりあえず SharePoint のデータを作ってアプリを作成します

image.png

image.png

image.png

コピーアイコンの実装

DetailScreen1を選択します

image.png

アイコンからコピーを選択します

image.png

ヘッダーに配置し、他のアイコンと色などを合わせます

image.pngimage.png

コピーアイコンの OnSelect プロパティに以下の内容を入力します

NewForm(EditForm1);
Navigate(EditScreen1, ScreenTransition.None);
Set(NewFormMode,"copy");

新規作成・編集アイコンの修正

編集アイコンを選択し、OnSelectプロパティを以下のように変更します

EditForm(EditForm1);
Navigate(EditScreen1, ScreenTransition.None);
Set(NewFormMode,"Edit");

image.png

BrowseScreen1 を選択します

新規作成アイコンを選択し、OnSelectプロパティを以下のように変更します

EditForm(EditForm1);
Navigate(EditScreen1, ScreenTransition.None);
Set(NewFormMode,"New");

image.png

フォームの修正

EditScreen1を選択します

コピー対象のフォームの入力プロパティのロックを解除します

image.png

各フォームの入力項目にある Default に以下の内容を指定します

Switch(NewFormMode,
    "New","",
    "Edit",Parent.Default,
    "copy",BrowseGallery1.Selected.<列名>
    ,""
)

image.png

送信アイコンの修正

送信アイコンの OnSelect プロパティを以下のように変更します

SubmitForm(EditForm1);
ResetForm(EditForm1);
Set(NewFormMode,"None");

BrowseScreen1 の設定

BrowseScreen1 を選択します

OnVisible プロパティに以下を設定します

Set(NewFormMode,"None");

まとめ

内容をコピーしてデータを新規登録したいっていう要望は結構多いかと思います。
ただ、それを実装するには関数などをいろいろと使わないといけなくなり、そこで挫折する場合も多いんじゃないでしょうか。

この記事が少しでも多くの方のためになれば幸いです!

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3