編集フォームのカスタム カードに表示されないプロパティがある
はじめに
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