適用対象: キャンバス アプリ
モデル駆動型アプリ
データ ソース に関する情報を提供します。
概要
データ ソースは、ユーザー エクスペリエンスを最適化するために貴重な情報を提供できます。
Patch 関数を使用する前に、列 レベルの情報を使用して、ユーザー入力を検証し、ユーザーに即時フィードバックを提供することができます。 Validate 関数はこの同じ情報を使用します。
データ ソース レベルで情報を使用して、たとえば、レコード を編集および作成するためのアクセス許可を持たないユーザーに対して、編集および新規作成ボタンを無効または非表示にすることができます。
データ ソースは提供する情報の量によって異なり、まったく提供しないものもあります。 コレクション は情報を提供しません。 情報が提供されない場合は、既定が使用されるか、もしくは空白が返されます。
Note
現在、 DataSourceInfo 関数は Microsoft Lists ではサポートされていません。
説明
列情報
DataSourceInfoを使用して、データ ソースの特定の列に関する情報を取得できます。
| 情報の引数 | 結果の種類 | 説明 |
|---|---|---|
| DataSourceInfo.DisplayName | 文字列 | 列の表示名。 表示名が定義されていない場合は、列名を返します。 |
| DataSourceInfo.MaxLength | 番号 | 列が保持できる最大文字数。 文字列が含まれている列にのみ適用されます。 最大数が設定されていない場合は、空白を返します。 |
| DataSourceInfo.MaxValue | 番号 | 列が保持できる最大数値。 数値が含まれている列にのみ適用されます。 最大数が設定されていない場合は、空白を返します。 |
| DataSourceInfo.MinValue | 番号 | 列が保持できる最小数値。 数値が含まれている列にのみ適用されます。 最小値が設定されていない場合は、空白を返します。 |
| DataSourceInfo.必須 | ブール値 | 値はこの列に必要ですか? データ ソースによって設定されていない場合は、false を返します。 |
3 番目の引数は、文字列としての列の名前です。 たとえば、人物コレクションの 電話の列は、二重引用符を含む "Phone" として渡されます。
データ ソースの情報
DataSourceInfoを使用して、データ ソース全体に関する情報を取得することもできます。
| 情報の引数 | 結果の種類 | 説明 |
|---|---|---|
| DataSourceInfo.AllowedValues | ブール値 | このデータ ソースに対してユーザーに付与できるアクセス許可の種類は何ですか? データ ソースによって設定されていない場合は、空白を返します。 |
| DataSourceInfo.CreatePermission | ブール値 | 現在のユーザーは、このデータ ソースでレコードを作成するアクセス許可を持っていますか? データ ソースによって設定されていない場合は、true を返します。 |
| DataSourceInfo.DeletePermission | ブール値 | 現在のユーザーは、このデータ ソースでレコードを削除するアクセス許可を持っていますか? データ ソースによって設定されていない場合は、true を返します。 |
| DataSourceInfo.EditPermission | ブール値 | 現在のユーザーは、このデータ ソースでレコードを編集するアクセス許可を持っていますか? データ ソースによって設定されていない場合は、true を返します。 |
| DataSourceInfo.ReadPermission | ブール値 | 現在のユーザーは、このデータ ソースでレコードを読み取りするアクセス許可を持っていますか?: データ ソースによって設定されていない場合は、true を返します。 |
Note
DataSourceInfo は、現在のユーザーが要求されたアクセス許可を持っているかどうかを判断できない場合は true を返します。 実際の操作が実行されると、サーバーによってアクセス許可が再度チェックされ、許可されていない場合はエラーが表示されます。 現時点では、 DataSourceInfo でのアクセス許可チェックは、Microsoft Dataverse を使用する場合にのみ可能です。
構文
DataSourceInfo( DataSource, Information [, ColumnName] )
- DataSource – 必須。 使用するデータ ソース。
- 情報 – 必須。 取得する情報の種類。
- ColumnName – オプション。 列レベルの情報を取得するための列名。 データ ソース レベルの情報に関しては、ColumnName 引数を使用することはできません。
Note
バージョン 3.24042 より前の Power Apps では、列名は二重引用符を使用したテキスト文字列で指定され、データ ソースに接続されている場合は論理名である必要がありました。 たとえば、引用符のない表示名 名前 の代わりに、二重引用符で囲まれた論理名 "cr43e_name" が使用されました。 SharePoint およびスペースを含む列名を含む Excel データ ソースの場合、各スペースは "_x0020_" で指定されます。たとえば、"列名" は "Column_x0020_Name" となります。 このバージョン以降、すべてのアプリはこの記事で説明されている新しい構文に自動的に更新されました。
使用例
このセクションの例は、IceCream という名前のデータ ソースを使用します。
このデータ ソースは、次の情報も提供します。
- 数量の表示名は "手持ち在庫数量" です。
- Flavor の最大長は 30 文字です。
- Flavor 列には値を含める必要があります。 数量 列は必須ではありません。
- 最小数量は 0 です。
- 最大数量は 100 です。
- 現在のユーザーは、IceCream データ ソースのレコードの読み取りおよび編集を行うことができますが、レコードを作成および削除することはできません。
| 計算式 | 説明 | 結果 |
|---|---|---|
| DataSourceInfo(IceCream、 DataSourceInfo。DisplayName,Quantity ) | IceCream データ ソースの数量列の表示名を返します。 | "手持ち在庫数量" |
| DataSourceInfo(IceCream、 DataSourceInfo。MaxLength,Flavor ) | IceCream データ ソースの Flavor 列の文字列の最大長を返します。 | 30 |
| DataSourceInfo(IceCream、 DataSourceInfo。必須、フレーバー) | IceCream データ ソースの Flavor 列は必須ですか? | 真実 |
| DataSourceInfo(IceCream、 DataSourceInfo。必須、数量) | IceCream データ ソースの数量列は必須ですか? | 間違い |
| DataSourceInfo(IceCream、 DataSourceInfo。MaxValue、Quantity ) | IceCream データ ソースの数量列の最大数値を返します。 | 100 |
| DataSourceInfo(IceCream、 DataSourceInfo。MinValue,Quantity ) | IceCream データ ソースの数量列の最小数値を返します。 | 0 |
| DataSourceInfo(IceCream、 DataSourceInfo。ReadPermission) | 現在のユーザーは IceCream データ ソースのレコードを読み取ることができますか? | 真実 |
| DataSourceInfo(IceCream、 DataSourceInfo。EditPermission) | 現在のユーザーは IceCream データ ソースのレコードを編集できますか? | 真実 |
| DataSourceInfo(IceCream、 DataSourceInfo。CreatePermission) | 現在のユーザーは IceCream データ ソースのレコードを作成できますか? | 間違い |
| DataSourceInfo(IceCream、 DataSourceInfo。DeletePermission) | 現在のユーザーは IceCream データ ソースのレコードを削除できますか? | 間違い |