共用方式為


DataSourceInfo 函式

適用於: 畫布應用 模型驅動應用

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

概觀

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

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

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

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

Note

目前,List 不支援 Microsoft DataSourceInfo 函數。

Description

資料行資訊

您可以使用 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 —可選。 用於擷取其欄層級資訊的欄名稱。 針對資料來源層級的資訊,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(霜淇淋,DataSourceInfo.DisplayName,數量) 傳回 IceCream 資料來源的Quantity 欄位之顯示名稱。 "庫存量"
DataSourceInfo(霜淇淋,DataSourceInfo.MaxLength,口味) 傳回 IceCream 資料來源的 類別 欄位字串的最大長度。 30
DataSourceInfo(霜淇淋,DataSourceInfo.Required,口味) 是否需要 IceCream 資料來源的 Flavor 欄位?
DataSourceInfo(霜淇淋,DataSourceInfo.Required,數量) 是否需要 IceCream 資料來源的Quantity 欄位?
DataSourceInfo(霜淇淋,DataSourceInfo.MaxValue,數量) 傳回 IceCream 資料來源的 Quantity 欄位之最大數值。 100
DataSourceInfo(霜淇淋,DataSourceInfo.MinValue,數量) 傳回 IceCream 資料來源的 Quantity 欄位之最小數值。 0
DataSourceInfo(IceCream,DataSourceInfo.ReadPermission) 目前的使用者是否可以讀取 IceCream 資料來源中的記錄?
DataSourceInfo(IceCream,DataSourceInfo.EditPermission) 目前的使用者是否可以編輯 IceCream 資料來源中的記錄?
DataSourceInfo(IceCream,DataSourceInfo.CreatePermission) 目前的使用者是否可以建立 IceCream 資料來源中的記錄?
DataSourceInfo(IceCream,DataSourceInfo.DeletePermission) 目前的使用者是否可以刪除 IceCream 資料來源中的記錄?