⚙️

編集フォームのカスタム カードに表示されないプロパティがある

に公開

はじめに

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