如何在PowerApps中将Person列的DisplayName属性动态传递给SortByColumns函数

时间:2019-03-14 14:25:09

标签: powerapps columnsorting

我整日都在努力寻找以下问题的解决方案:

id

其中SortField和sortOrder是如下设置的变量:

SortByColumns(Filter(LogisticsHelpdesk,And(If(Dropdown1.Selected.Value="All",(Status.Value="Open" || Status.Value="Closed"), (Status.Value=Dropdown1.Selected.Value)),StartsWith(Text(ID), SearchBox.Text))),SortField, sortOrder)

变量在三个地方更新,一个地方是“标题”列,另外两个是“人”列。对于“标题”列,以上代码可以正常工作,但对于“人员”列则不起作用。

我发现问题是SortByColumns和Sort函数不知道按哪个属性对Person列进行排序。知道如何动态地将列名和DisplayName属性一起提供给Sort / SortByColumns函数吗?

到目前为止,我已经测试过以列名作为字符串传递DisplayName属性:

UpdateContext({SortOrignatorDescending: !SortOrignatorDescending, SortField: "Originator"});Set(sortOrder, If(SortOrignatorDescending, Descending, Ascending))

并尝试将变量设置为列本身:

UpdateContext({SortAllocatedToDescending: !SortAllocatedToDescending, SortField:"AllocatedTo.DisplayName"});Set(sortOrder, If(SortAllocatedToDescending, Descending, Ascending))

但是在设计器中出现错误,指出其类型不兼容。我认为列不能直接通过变量传递。

也曾尝试将两个函数(Sort和SortByColumns)互换使用,但无济于事。

主要目标是同时对多个列进行排序,过滤和搜索特定的字符串,并易于在公式中添加更多条件/列,而无需多次添加一个和同一条语句。

在此先感谢您提供的帮助。

0 个答案:

没有答案