16
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Power AppsAdvent Calendar 2023

Day 18

Power Apps で SharePoint リストの参照列を利用する際の既定値の指定でちょっとはまった

Last updated at Posted at 2023-12-17

はじめに

Power Apps でアプリを作成時、データソースとして SharePoint リストを利用する際、複数のリストを作成する場合があります。このような場合、データの整合性を保つため、参照列を利用することがあります。

例えば、何らかの注文を管理したい場合、商品のリストを作成します。次に、その商品の注文依頼を管理するリストを作成します。

image.png

image.png

この際、注文を依頼する際に選択する商品は、商品のリストから選択させるようにしたいという要件があります。こちらがテキスト型の自由入力の場合、想定していない商品が注文されたしまうためです。このような要件がある際、一つの選択肢として、参照列を利用する方法があります。

参照列を使用することで、以下のように、注文依頼を行う際、選択できる商品が、商品リストに存在するものだけになります。

image.png

作成自体は、列を作成する際、以下のように、参照という種類を選び、参照先のリストと列を選択します。

image.png

今回は、このような参照列を使用している際、少しハマってしまったことがあるため、備忘のために紹介します。

アプローチ

まず、フォームコントロールにコンボボックスを追加します。そのままでもいいですが、前方一致の検索結果しかヒットしなかったので、Search が機能するよう、コンボボックス追加します (最終的には、元々のコントロールが隠れるようにします) 。

image.png

■(元々の部品) モバイルの検索結果

image.png

■(元々の部品) バッテリーの検索結果

ヒットしません。

image.png

■(追加した部品) バッテリーの検索結果

ヒットします。

image.png

そして、追加した側のコンボボックスで設定した値を元に、元々のコンボボックスの[DefaultSelectedItems]を以下のように変更します。

image.png

{
    '@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
    Id: ComboBox1.Selected.ID,
    Value: ComboBox1.Selected.タイトル
}

追加したコンボボックスで選択した値に応じて元々のコンボボックスの値が変わります。

Id を ID にしていたことで、Power Apps のアプリの見た目上は値が入っており、データの送信も成功しますが、SharePoint 側を見ると何も入っていない状態になり、はまりました。。

image.png

image.png

まとめ

今回は、Power Apps で SharePoint リストの参照列を利用する際にハマってしまったことについて紹介しました。SharePoint リストベースでアプリを作成する際、複数のリストを用いることもあるため、少しでも参考になれば幸いです。

16
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
16
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?