編集フォームのカスタム カードに表示されないプロパティがある
はじめに
Power Apps の編集フォームでフィールドを選択する方法の他にカスタム カードを追加することができます。
例として取引先企業テーブルを編集するフォームを作成してみます。データ ソースに紐づけられたカードの場合は Default
プロパティが表示されます。
一方、カスタム カードの場合は Default
プロパティが表示されません。他にも MaxLength
、Update
も表示されていません。
これらはカード内のコントロールと編集フォームが連携するために必要なプロパティです。このような違いがどうして生まれるのかを確認したいと思います。
実行手順
まずはキャンバス アプリを .msapp
ファイル形式でダウンロードします。ダウンロードしたファイルを Microsoft Power Platform CLI (pac) コマンドで展開します。
pac canvas unpack --msapp {{filepath}} --sources {{dirpath}}
展開してできたフォルダーの Src
フォルダーにある Screen2.fx.yaml
を開いて中身を確認します。
Screen2 As screen:
Form1 As form:
...
DataCard1 As typedDataCard.blankCard:
BorderStyle: =BorderStyle.Solid
DisplayMode: =DisplayMode.Edit
Fill: =RGBA(0, 0, 0, 0)
Height: =200
Width: =455
X: =0
Y: =2
ZIndex: =1
取引先企業名_DataCard1 As typedDataCard.textualEditCard:
BorderStyle: =BorderStyle.Solid
DataField: ="name"
Default: =ThisItem.取引先企業名
DisplayMode: =Parent.DisplayMode
DisplayName: =DataSourceInfo([@'取引先企業 '],DataSourceInfo.DisplayName,name)
Fill: =RGBA(0, 0, 0, 0)
Height: =50
MaxLength: =DataSourceInfo([@'取引先企業 '], DataSourceInfo.MaxLength, name)
Required: =true
Update: =DataCardValue1.Text
Width: =455
X: =0
Y: =0
ZIndex: =2
...
取引先企業名 に紐づけられたカードの場合は typedDataCard.textualEditCard
です。これはテキスト フィールドだからで、選択肢フィールドの場合は typedDataCard.comboBoxEditCard
になります。またカスタム カードは typedDataCard.blankCard
という型になっていることがわかります。フィールドのデータ型に対して対応するカードの種類があるということがわかります。
おわりに
カスタム カードの typedDataCard.blankCard
を typedDataCard.textualEditCard
に変更して .msapp
ファイル形式に圧縮し、アップロードすると、見えなかったプロパティが見えるようになります。何かのときに使えるテクニックだと思います。
Discussion