我正在尝试根据DatePicker字段填充PowerApps中的下拉列表,但是,下拉列表未显示SharePoint中列表中存在的所有值。
列表名称:Fitter List Fitter List中的DateTime字段:AppointmentDate PowerApps中的DatePicker组件设置为ShortDate:DatePicker1 要在下拉列表中显示的字段:标题
首先尝试查询:
区别(过滤(' Fitter List',(AppointmentDate = DatePicker1.SelectedDate)),标题)
返回错误:
然后尝试将要查询的字段和日期选择器字段转换为文本和比较。这将返回日期选择器中的一些选择,但不是全部。
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"由于Date Format格式与DatePicker组件中显示的格式相同。
这些只是尝试的一些查询,它不起作用,没有任何意义。任何帮助将不胜感激
答案 0 :(得分: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)