PowerApps 表单:尝试根据“人员”字段上的选择来过滤下拉项

问题描述 投票:0回答:1

我正在 PowerApps 画布中创建一个表单,以允许项目经理在 Microsoft Lists 表中添加/编辑数据。该表包含不同项目的列表,每个项目都有 1 个项目经理和其他信息,如屏幕截图所示:

Microsoft Lists table view

该表格应允许项目经理从下拉列表中选择他们的姓名(A:“项目负责人”)。根据此选择,表单应填充第二个下拉列表(B:“项目名称”),仅显示与该项目经理关联的项目名称。

Form view with two dropdown lists, the second list is not working

我可以使用

Choices([@'Project database'].'Project Lead')
正确填充 (A) 的项目,但无法获取下拉列表 (B) 的公式来根据所选项目经理(这是一个具有关联的 DisplayName、电子邮件的“人员”字段)过滤项目名称,...信息)。

这是我当前填充下拉列表 (B) 的 Items 的公式:

Filter([@'Project database'].'Project name', [@'Project database'].'Project Lead'.DisplayName = DataCardValue1.Selected.DisplayName)

错误描述说

" 'DisplayName' is not recognized as a valid property and there is an incompatible type for comparison between Error and Text."

我相信

.DisplayName
对于 DataCardValue1 部分可以正确找到,但对于“项目负责人”列则不然。我也尝试过用
.Value
而不是
.DisplayName
,但没有运气。

我做错了什么?

powerapps powerapps-canvas powerapps-formula powerapps-selected-items
1个回答
0
投票

您需要更新项目名称下拉列表的项目属性中的公式,如下所示:

Filter('Project Database',
       'Project Lead'.Email = DataCardValue1.Selected.Email
)

您的代码生成错误的原因是因为在

Filter
查询的第一个参数中,您将单列作为列表传递以进行搜索(即项目名称),而在第二个参数中,您将其与您的 ' “项目负责人”列是 SharePoint 列表的一部分,而不是“项目名称”列本身,因此您只需将第一个参数替换为 SharePoint 列表名称。为了查看,请将第二个下拉列表的 Value 属性设置为“项目名称”。另外,作为更好的比较方式,我将
DisplayName
替换为
Email

© www.soinside.com 2019 - 2024. All rights reserved.