Power Apps 中的 DataSourceInfo 函数

提供数据源的相关信息。

概述

数据源可以提供丰富的信息,用于优化用户体验。

可以使用 级别信息验证用户输入并在使用 Patch 函数前向用户提供即时反馈。 Validate 函数使用同一信息。

例如,可在数据源级别使用信息,以针对无权编辑或创建 记录的用户禁用或隐藏 编辑新建 按钮。

数据源中提供的信息量可能会不同,包括不提供任何信息。 集合不提供信息。 如果一条信息也不提供,则使用默认值,或返回 空白

备注

目前,Microsoft Lists 中不支持 DataSourceInfo 函数。

说明

列信息

可以使用 DataSourceInfo 获取数据源的特定列的相关信息:

信息参数 结果类型 描述
DataSourceInfo.DisplayName 字符串 列的显示名称。 如果未定义显示名称,将返回列名称。
DataSourceInfo.MaxLength 号码 列所能容纳的最大字符数。 仅适用于包含字符串的列。 如果未设置最大值,则返回 空白
DataSourceInfo.MaxValue 号码 列所能容纳的最大数值。 仅适用于包含数字的列。 如果未设置最大值,则返回 空白
DataSourceInfo.MinValue 号码 列所能容纳的最小数值。 仅适用于包含数字的列。 如果未设置最小值,则返回 空白
DataSourceInfo.Required Boolean 此列是否需要值? 如果数据源未对此进行设置,则返回 false

第三个自变量是字符串形式的列名称。 例如,集合 人员 中的 手机 列将传递为 "Phone"(含双引号)。

数据源信息

还可以使用 DataSourceInfo 获取整体数据源的信息:

信息参数 结果类型 描述
DataSourceInfo.AllowedValues Boolean 可以向用户授予对此数据源的哪些类型权限? 如果数据源未设置,则返回 空白
DataSourceInfo.CreatePermission Boolean 当前用户是否有权在此数据源中创建记录? 如果数据源未设置,将返回 true
DataSourceInfo.DeletePermission Boolean 当前用户是否有权在此数据源中删除记录? 如果数据源未设置,将返回 true
DataSourceInfo.EditPermission Boolean 当前用户是否有权在此数据源中编辑记录? 如果数据源未设置,将返回 true
DataSourceInfo.ReadPermission Boolean 当前用户是否有权在此数据源中读取记录? 如果数据源未设置,将返回 true

备注

如果 DataSourceInfo 无法确定当前用户是否具有请求的权限,将返回 true。 当执行实际操作时,服务器将再次检查权限,如果该操作不被允许,将显示错误。 目前,只有在使用 Microsoft Dataverse 时,才可以使用 DataSourceInfo 进行权限检查。

语法

DataSourceInfo( DataSource, Information, ColumnName )

  • DataSource – 必需。 要使用的数据源。

  • Information – 必需。 要检索的信息类型。

  • ColumnName – 可选。 对于列级信息,为字符串形式的列名称。 例如,手机 列将传递为 "Phone"(含双引号)。 对于数据源级别的信息,不能使用 ColumnName 参数。

    备注

    对于列名称带空格的 SharePoint 和 Excel 数据源,请将每个空格指定为 "_x0020_"。 例如,将 "Column Name" 指定为 "Column_x0020_Name"

示例

本部分中的示例使用以下名为 IceCream 的数据源:

Icecream 示例。

数据源还提供以下信息:

  • 数量 的显示名称是“现存数量”。
  • 风格 的最大长度是 30 个字符。
  • 风格 列必须包含值。 数量 列不是必需的。
  • 最小 数量 为 0。
  • 最大 数量 为 100。
  • 当前用户可读取和编辑 IceCream 数据源的记录,但无法创建或删除记录。
公式 描述 结果
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, "Quantity" ) 返回 IceCream 数据源的 数量 列的显示名称。 “现存数量”
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, "Flavor" ) 返回 IceCream 数据源的 风格 列的字符串的最大长度。 30
DataSourceInfo( IceCream, DataSourceInfo.Required, "Flavor" ) IceCream 数据源的 风格 列是否为必需? true
DataSourceInfo( IceCream, DataSourceInfo.Required, "Quantity" ) IceCream 数据源的 数量 列是否为必需? false
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, "Quantity" ) 返回 IceCream 数据源的 数量 列的最大数值。 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, "Quantity" ) 返回 IceCream 数据源的 数量 列的最小数值。 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) 当前用户是否可以在 IceCream 数据源中读取记录? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) 当前用户是否可以在 IceCream 数据源中编辑记录? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) 当前用户是否可以在 IceCream 数据源中创建记录? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) 当前用户是否可以在 IceCream 数据源中删除记录?

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。