首页 文章

PowerApps - 根据DatePicker选择过滤下拉列表

提问于
浏览
1

我试图基于DatePicker字段填充PowerApps中的下拉列表,但是,下拉列表未显示SharePoint中列表中存在的所有值 .

列表名称:Fitter列表中的Fitter List DateTime字段:PowerApps中的AppointmentDate DatePicker组件设置为ShortDate:DatePicker1要在下拉列表中显示的字段: Headers

第一次查询尝试:

区别(过滤('Fitter List',(AppointmentDate = DatePicker1.SelectedDate)), Headers )

错误返回:

Error

然后尝试将要查询的字段和日期选择器字段转换为文本和比较 . 这将返回日期选择器中的一些选择,但不是全部 .

Distinct(Filter('Fitter List', (Text(AppointmentDate,DateTimeFormat.ShortDate) = Text(DatePicker1.SelectedDate))),Title)

然后我根据AppointmentDate创建了另一个计算字段AppointmentDateText,如下所示:

=TEXT(AppointmentDate,"m/d/yyyy")

并将查询更改为:

Distinct(Filter('Fitter List', (AppointmentDateText = Text(DatePicker1.SelectedDate))),Title)

同样,它适用于一些选择但不是全部 . 作为日期格式的“m / d / yyyy”背后的想法是由于DatePicker组件中显示的格式相同 .

这些只是尝试的一些查询,它不起作用,没有任何意义 . 任何帮助将不胜感激

1 回答

  • 0

    正如您所注意到的,目前通过日期过滤SharePoint列表不起作用(由于SharePoint连接器和PowerApps之间不兼容) . 您正在使用文本函数的正确轨道,但您应该明确地为计算列和powerapps使用相同的文本表示(我建议使用“yyyy-mm-dd”,这是您的表示可以过滤和排序) . 所以你的计算列会有这个表达式:

    =TEXT([AppointmentDate],"yyyy-mm-dd")
    

    并且您的过滤器表达式将写为

    Distinct(
        Filter(
            'Fitter List',
            AppointmentDateText = Text(DatePicker1.SelectedDate, "yyyy-mm-dd")),
        Title)
    

    或者您也可以绕过计算列并在PowerApps端进行文本转换:

    Distinct(
        Filter(
            'Fitter List',
            Text(AppointmentDateText, "yyyy-mm-dd") = Text(DatePicker1.SelectedDate, "yyyy-mm-dd")),
        Title)
    

相关问题