如何使用textinput,下拉菜单和datepicker过滤powerapp画廊

时间:2018-09-20 12:13:36

标签: filtering powerapps

我一直在尝试在图库中添加另一个下拉列表和一个日期选择器过滤器

实现此目标的最佳方法是什么?

每当我添加票证关闭的过滤器时,它都不起作用

这是我的代码

SortByColumns(
    Filter(
        PortfolioAPP,
        userddown.Selected.Value = CollectorName && StartsWith(
            TitanCompanyName,
            SearchComp_1.Text
        ) && StartsWith(
            TitanCompanyContactName,
            SearchContact_1.Text
        ) && StartsWith(
            Title,
            SearchTicket.Text
        ) && StartsWith(
            ResolutionType,
            ResoTypeDDown_1.Selected.Value
        )
    ),
    "TotalDebtGBP",
    Ascending

1 个答案:

答案 0 :(得分:0)

您可以将许多条件传递给Filter function,并且它可以通过从满足所有这些条件的数据源(div)返回的项目中起作用。例如,您可以将表达式重写为:

PortfolioApp

如果要添加另外两个条件(基于下拉列表和日期选择器),则可以添加两个以上表达式:

SortByColumns(
    Filter(
        PortfolioAPP,
        userddown.Selected.Value = CollectorName,
        StartsWith(
            TitanCompanyName,
            SearchComp_1.Text),
        StartsWith(
            TitanCompanyContactName,
            SearchContact_1.Text),
        StartsWith(
            Title,
            SearchTicket.Text),
        StartsWith(
            ResolutionType,
            ResoTypeDDown_1.Selected.Value)
    ),
    "TotalDebtGBP",
    Ascending)

注释后更新:由于您的数据源是SharePoint,因此似乎存在一个错误,即基于SharePoint列表的日期进行过滤不起作用。我不知道什么时候可以解决,但是您可以考虑一些解决方法。

第一个方法是在SharePoint中创建一个计算列,该列将日期列转换为带有诸如SortByColumns( Filter( PortfolioAPP, userddown.Selected.Value = CollectorName, StartsWith( TitanCompanyName, SearchComp_1.Text), StartsWith( TitanCompanyContactName, SearchContact_1.Text), StartsWith( Title, SearchTicket.Text), StartsWith( ResolutionType, ResoTypeDDown_1.Selected.Value), TicketClosedDate = DatePicker1.SelectedDate, AnotherColumn = YourOtherDropdown.Selected.Value ), "TotalDebtGBP", Ascending) 之类的表达式的文本列。然后,您可以将其与日期选择器中的日期进行比较,例如

=TEXT(PlacementDate,"yyyy-MM-dd")

如果您的列表中没有很多元素(最多500-2000行),这应该可以工作,因为计算的列不支持delegation

但是,您还提到您有1万多行,因此以前的解决方法不起作用。另一种可能的解决方法是让另一个“常规”文本列代表相同的日期值。您将需要使用某种脚本来回填现有值,然后在每次添加/修改新行时使用流来更新该值。这不是很理想,但是至少在修复此错误之前,它会起作用。