DataSourceInfo 函式
適用於: 畫布應用 模型驅動應用
提供 資料來源 的相關資訊。
概觀
資料來源可以提供豐富的資訊來最佳化使用者經驗。
您可以使用 欄位 層級資訊驗證使用者輸入,並在使用 Patch 函式之前立即提供回應給使用者。 Validate 函式使用這個相同的資訊。
您可以使用資料來源層級的資訊,例如,針對沒有編輯和建立 記錄 權限的使用者停用或隱藏 Edit 和 New 按鈕。
資料來源會依其提供資訊量而異,包括完全沒有提供任何項目。 集合 不提供任何資訊。 如果未提供資訊,則會使用預設值,或傳回 空白。
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 的資料來源:
資料來源也提供這項資訊︰
- 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 資料來源中的記錄? | 假 |