1
votes

I am trying to populate a drop down list in PowerApps based on a DatePicker field, however, the drop down is not showing all the values existing in the list in SharePoint.

List Name: Fitter List DateTime field in Fitter List: AppointmentDate DatePicker component in PowerApps set as ShortDate: DatePicker1 Field to display in drop down: Title

First query tried:

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

Error returned:

Error

Then tried to convert both the field being queried and the Date picker field to text and compare. This returns some selections in the Date Picker but not all.

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

I then created another Calculated field AppointmentDateText based on AppointmentDate, as shown below:

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

and changed the query to:

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

Similarly, it worked for some of the selections but not all. The idea behind "m/d/yyyy" as Date Format is due the same format being displayed in the DatePicker component.

These are only a few of the queries tried, it is not working and nothing is making sense. any help would be greatly appreciated

1

1 Answers

0
votes

As you noticed, currently filtering SharePoint lists via dates is not working (due to an incompatibility between the SharePoint connector and PowerApps). You're on the right track about using the text function, but you should use the same text representation explicitly for the calculated column and for powerapps (and I'd suggest using "yyyy-mm-dd", which is a representation that you can both filter and sort on). So your calculated column would have this expression:

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

And your filter expression would be written as

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

Or you can also bypass the calculated column and do the text conversion on the PowerApps side as well:

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