PowerApps 中的 DataSourceInfo 函式DataSourceInfo function in PowerApps

提供資料來源的相關資訊。Provides information about a data source.

概觀Overview

資料來源可以提供豐富的資訊來最佳化使用者經驗。Data sources can provide a wealth of information to optimize the user experience.

您可以使用資料行層級的資訊來驗證使用者輸入,並在使用 Patch 函式之前立即提供回應給使用者。You can use column-level information to validate user input and provide immediate feedback to the user before using the Patch function. Validate 函式會使用這個相同的資訊。The Validate function uses this same information.

您可以使用資料來源層級的資訊,例如,為沒有編輯和建立記錄權限的使用者停用或隱藏 [編輯] 和 [新增] 按鈕。You can use information at the data-source level, for example, to disable or hide Edit and New buttons for users who don't have permissions to edit and create records.

資料來源會依其提供資訊量而異,包括完全沒有提供任何項目。Data sources vary in how much information they provide, including not providing any at all. 集合不會提供資訊。Collections provide no information. 如果未提供資訊,則會使用預設值,或傳回空白。If a piece of information isn't provided, a default is used, or blank is returned.

說明Description

資料行資訊Column information

您可以使用 DataSourceInfo 以取得資料來源的特定資料行相關資訊︰You can use DataSourceInfo to obtain information about a particular column of a data source:

資訊引數Information Argument 結果類型Result Type 說明Description
DataSourceInfo.DisplayNameDataSourceInfo.DisplayName 字串String 資料行的顯示名稱。Display name for the column. 如果未定義任何顯示名稱,則會傳回資料行名稱。If no display name is defined, returns the column name.
DataSourceInfo.MaxLengthDataSourceInfo.MaxLength 數字Number 資料行可以保存的最大字元數。Maximum number of characters that the column can hold. 僅適用於包含字串的資料行。Applies only to columns that contain strings. 如果未設定最大值,則會傳回空白。If a maximum isn't set, returns blank.
DataSourceInfo.MaxValueDataSourceInfo.MaxValue 數字Number 資料行可以保存的最大數值。Maximum numeric value that a column can hold. 僅適用於包含數字的資料行。Applies only to columns that contain numbers. 如果未設定最大值,則會傳回空白。If a maximum isn't set, returns blank.
DataSourceInfo.MinValueDataSourceInfo.MinValue 數字Number 資料行可以保存的最小數值。Minimum numeric value that a column can hold. 僅適用於包含數字的資料行。Applies only to columns that contain numbers. 如果未設定最小值,則會傳回空白。If a minimum isn't set, returns blank.
DataSourceInfo.RequiredDataSourceInfo.Required 布林值Boolean 這個資料行是否需要值?Is a value required for this column? 如果資料來源未設定,則會傳回 falseIf not set by the data source, returns false.

第三個引數是做為字串之資料行的名稱。The third argument is the name of a column as a string. 例如,連絡人集合中的電話資料行會做為「電話」(包括雙引號) 傳遞。For example, column Phone in collection People would be passed as "Phone" including the double quotes.

資料來源資訊Data-source information

您還可以使用 DataSourceInfo 以取得資料來源的完整相關資訊︰You can also use DataSourceInfo to obtain information about a data source as a whole:

資訊引數Information Argument 結果類型Result Type 說明Description
DataSourceInfo.AllowedValuesDataSourceInfo.AllowedValues 布林值Boolean 可以將此資料來源的哪些類型的權限授與使用者?What types of permissions can users be granted for this data source? 如果資料來源未設定,則會傳回「空白」。If not set by the data source, returns blank.
DataSourceInfo.CreatePermissionDataSourceInfo.CreatePermission 布林值Boolean 目前的使用者是否具有在此資料來源中建立記錄的權限?Does the current user have permission to create records in this data source? 如果資料來源未設定,則會傳回 trueIf not set by the data source, returns true.
DataSourceInfo.DeletePermissionDataSourceInfo.DeletePermission 布林值Boolean 目前的使用者是否具有在此資料來源中刪除記錄的權限?Does the current user have permission to delete records in this data source? 如果資料來源未設定,則會傳回 trueIf not set by the data source, returns true.
DataSourceInfo.EditPermissionDataSourceInfo.EditPermission 布林值Boolean 目前的使用者是否具有在此資料來源中編輯記錄的權限?Does the current user have permission to edit records in this data source? 如果資料來源未設定,則會傳回 trueIf not set by the data source, returns true.
DataSourceInfo.ReadPermissionDataSourceInfo.ReadPermission 布林值Boolean 目前的使用者是否具有在此資料來源中讀取記錄的權限?Does the current user have permission to read records in this data source? 如果資料來源未設定,則會傳回 trueIf not set by the data source, returns true.

語法Syntax

DataSourceInfo( DataSource, Information, ColumnName )DataSourceInfo( DataSource, Information, ColumnName )

  • DataSource – 必要項目。DataSource – Required. 要使用的資料來源。The data source to use.
  • Information – 必要項目。Information – Required. 您想要擷取的資訊類型。The type of information that you want to retrieve.
  • ColumnName – 選擇性。ColumnName – Optional. 針對資料行層級資訊,資料行名稱做為字串。For column-level information, the column name as a string. 電話資料行會做為(包括雙引號) 傳遞。Column Phone would be passed as "Phone", including the double quotes. 針對資料來源層級的資訊,無法使用 ColumnName引數。For information at the data-source level, the ColumnName argument can't be used.

    注意

    如果 SharePoint 和 Excel 資料來源包含有空格的資料行名稱,請將每個空格指定為 "_x0020_"For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". 例如,將 "Column Name" 指定為 "Column_x0020_Name"For example, specify "Column Name" as "Column_x0020_Name".

範例Examples

本章節中的範例使用這個名為 IceCream 的資料來源:The examples in this section use this data source, named IceCream:

資料來源也提供了這項資訊︰The data source has also provided this information:

  • 數量的顯示名稱為「庫存量」。The display name for Quantity is "Quantity on Hand".
  • 類別的最大長度為 30 個字元。The maximum length of Flavor is 30 characters.
  • 類別資料行必須包含一個值。The Flavor column must contain a value. 數量資料行並非必要項目。The Quantity column isn't required.
  • 最小數量為 0。The minimum Quantity is 0.
  • 最大數量為 100。The maximum Quantity is 100.
  • 目前的使用者可以讀取和編輯 IceCream 資料來源的記錄,但無法建立或刪除記錄。The current user can read and edit the records of the IceCream data source but can't create or delete records.
公式Formula 說明Description 結果Result
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, "Quantity" )DataSourceInfo( IceCream, DataSourceInfo.DisplayName, "Quantity" ) 傳回 IceCream 資料來源的數量資料行之顯示名稱。Returns the display name for the Quantity column of the IceCream data source. 「庫存量」"Quantity on Hand"
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, "Flavor" )DataSourceInfo( IceCream, DataSourceInfo.MaxLength, "Flavor" ) 傳回 IceCream 資料來源的類別資料行字串的最大長度。Returns the maximum length of the string for the Flavor column of the IceCream data source. 3030
DataSourceInfo( IceCream, DataSourceInfo.Required, "Flavor" )DataSourceInfo( IceCream, DataSourceInfo.Required, "Flavor" ) 是否需要 IceCream 資料來源的類別資料行?Is the Flavor column of the IceCream data source required? truetrue
DataSourceInfo( IceCream, DataSourceInfo.Required, "Quantity" )DataSourceInfo( IceCream, DataSourceInfo.Required, "Quantity" ) 是否需要 IceCream 資料來源的數量資料行?Is the Quantity column of the IceCream data source required? falsefalse
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, "Quantity" )DataSourceInfo( IceCream, DataSourceInfo.MaxValue, "Quantity" ) 傳回 IceCream 資料來源的數量資料行之最大數值。Returns the maximum numeric value for the Quantity column of the IceCream data source. 100100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, "Quantity" )DataSourceInfo( IceCream, DataSourceInfo.MinValue, "Quantity" ) 傳回 IceCream 資料來源的數量資料行之最小數值。Returns the minimum numeric value for the Quantity column of the IceCream data source. 00
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission)DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) 目前的使用者是否可以讀取 IceCream 資料來源中的記錄?Can the current user read records in the IceCream data source? truetrue
DataSourceInfo( IceCream, DataSourceInfo.EditPermission)DataSourceInfo( IceCream, DataSourceInfo.EditPermission) 目前的使用者是否可以編輯 IceCream 資料來源中的記錄?Can the current user edit records in the IceCream data source? truetrue
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission)DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) 目前的使用者是否可以建立 IceCream 資料來源中的記錄?Can the current user create records in the IceCream data source? falsefalse
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission)DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) 目前的使用者是否可以刪除 IceCream 資料來源中的記錄?Can the current user delete records in the IceCream data source? falsefalse