DataSourceInfo 函式

適用於: 畫布應用程式 模型導向應用程式

提供 資料來源 的相關資訊。

概觀

資料來源可以提供豐富的資訊來最佳化使用者經驗。

您可以使用 欄位 層級資訊驗證使用者輸入,並在使用 Patch 函式之前立即提供回應給使用者。 Validate 函式使用這個相同的資訊。

您可以使用資料來源層級的資訊,例如,針對沒有編輯和建立 記錄 權限的使用者停用或隱藏 EditNew 按鈕。

資料來源會依其提供資訊量而異,包括完全沒有提供任何項目。 集合物件 不提供任何資訊。 如果未提供資訊,則會使用預設值,或傳回 空白

Note

目前,Microsoft Lists 不支援 DataSourceInfo 函式。

描述

資料行資訊

您可以使用 DataSourceInfo 取得資料來源的特定欄位相關資訊︰

資訊引數 結果類型 描述
DataSourceInfo.DisplayName 字串 欄位的顯示名稱。 如果未定義任何顯示名稱,則會傳回欄位名稱。
DataSourceInfo.MaxLength 號碼 欄位可以保存的最大字元數。 僅適用包含字串的欄位。 如果未設定最大值,則會傳回 空白
DataSourceInfo.MaxValue 號碼 欄位可以保存的最大數值。 僅適用包含數字的欄位。 如果未設定最大值,則會傳回 空白
DataSourceInfo.MinValue 號碼 欄位可以保存的最小數值。 僅適用包含數字的欄位。 如果未設定最小值,則會傳回 空白
DataSourceInfo.Required 布林值 此欄位是否需要值? 如果資料來源未設定,則會傳回 false

第三個引數是做為字串的欄位名稱。 例如,人員 集合物件中的 電話 欄位會做為 "電話" (包括雙引號) 傳遞。

資料來源資訊

您也可以使用 DataSourceInfo 取得資料來源的完整相關資訊︰

資訊引數 結果類型 描述
DataSourceInfo.AllowedValues 布林值 使用者可被授與此資料來源的權限類型? 如果資料來源未設定,則會傳回 空白
DataSourceInfo.CreatePermission 布林值 目前的使用者是否具有在此資料來源中建立記錄的權限? 如果資料來源未設定,則會傳回 true
DataSourceInfo.DeletePermission 布林值 目前的使用者是否具有在此資料來源中刪除記錄的權限? 如果資料來源未設定,則會傳回 true
DataSourceInfo.EditPermission 布林值 目前的使用者是否具有在此資料來源中編輯記錄的權限? 如果資料來源未設定,則會傳回 true
DataSourceInfo.ReadPermission 布林值 目前的使用者是否具有在此資料來源中讀取記錄的權限? 如果資料來源未設定,則會傳回 True

Note

如果DataSourceInfo無法確定目前使用者是否具有要求權限,則返回 True。 當執行實際作業時,伺服器將再次檢查權限,如果不允許,則會顯示錯誤。 目前,只有在使用 Microsoft Dataverse 時,才能使用 DataSourceInfo 來檢查權限。

語法

DataSourceInfo( DataSource, Information [, ColumnName] )

  • DataSource – 必要項目。 要使用的資料來源。
  • Information – 必要項目。 您想要擷取的資訊類型。
  • ColumnName – 非必要。 用於擷取其欄層級資訊的欄名稱。 針對資料來源層級的資訊,ColumnName 引數無法使用。

注意

在 Power Apps 版本 3.24042 之前,欄名稱是透過使用雙引號的文字字串指定的,如果連接到資料來源,它們也需要是邏輯名稱。 例如,使用雙引號的邏輯名稱 "cr43e_name",而不是不含引號的顯示名稱 Name。 對於包含帶有空格的欄名稱的 SharePoint 和 Excel 資料來源,每個空格均以「_x0020_」指定,例如「欄名稱」「Column_x0020_Name」。 在此版本之後,所有應用程式都會自動更新為本文中所述的新語法。

範例

本章節中的範例使用這個名為 IceCream 的資料來源:

IceCream 範例。

資料來源也提供這項資訊︰

  • Quantity 的顯示名稱為 "庫存量"。
  • Flavor 的最大長度為 30 個字元。
  • Flavor 欄位必須包含一個值。 Quantity 欄位並非必要項目。
  • 最小 Quantity 為 0。
  • 最大 Quantity 為 100。
  • 目前的使用者可讀取和編輯 IceCream 資料來源的記錄,但無法建立或刪除記錄。
公式 描述 結果
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, Quantity ) 傳回 IceCream 資料來源的Quantity 欄位之顯示名稱。 "庫存量"
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, Flavor ) 傳回 IceCream 資料來源的 類別 欄位字串的最大長度。 30
DataSourceInfo( IceCream, DataSourceInfo.Required, Flavor ) 是否需要 IceCream 資料來源的 Flavor 欄位? True
DataSourceInfo( IceCream, DataSourceInfo.Required, Quantity ) 是否需要 IceCream 資料來源的Quantity 欄位? False
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, Quantity ) 傳回 IceCream 資料來源的 Quantity 欄位之最大數值。 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, Quantity ) 傳回 IceCream 資料來源的 Quantity 欄位之最小數值。 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) 目前的使用者是否可以讀取 IceCream 資料來源中的記錄? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) 目前的使用者是否可以編輯 IceCream 資料來源中的記錄? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) 目前的使用者是否可以建立 IceCream 資料來源中的記錄? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) 目前的使用者是否可以刪除 IceCream 資料來源中的記錄? false