Can someone explain how the TicketsPage shows only the selected records from the HomePage option that was chosen? On the HomePage I see the OnSelect Action with all the IF statements but I don't understand how the filtering is working.
Solved! Go to Solution.
On the HomePage, the OnSelect statement you mentioned has a Navigate call for each condition which passes the context to the TicketsPage.
The first Navigate call is: Navigate(TicketsPage,ScreenTransition.Fade,{type:"All"}). The context being passed has a property named "type" with the value of "All" and, in the time based cases, an additional property called "datetype" is set respectively based on the condition.
On the TicketsPage, the TicketsGallery items is set to:
If(type="All",Tickets,If(type="Tickets older than 3 days", Filter(Tickets, DateCreated <> datetype && DateCreated <> Text(Today()), DateCreated <> Text(DateAdd(Today(), -2)),DateCreated <> Text(DateAdd(Today(), -1))|| DateClosed <> datetype && DateClosed <> Text(Today()), DateClosed <> Text(DateAdd(Today(),-2)),DateClosed <> Text(DateAdd(Today(), -1))),If(type="Tickets opened today",Filter(Tickets,datetype in DateCreated),If(type="Tickets closed today",Filter(Tickets,datetype in DateClosed),Filter(Tickets,type in Status)))))
The first condition, checks if type is "All" then use the Tickets datasource while the following conditions use the Filter formula to limit the datasource items given a condition.
See the article on filtering for more information. https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/.
Ryan McHenry [MSFT - PowerApps]
On the HomePage, the OnSelect statement you mentioned has a Navigate call for each condition which passes the context to the TicketsPage.
The first Navigate call is: Navigate(TicketsPage,ScreenTransition.Fade,{type:"All"}). The context being passed has a property named "type" with the value of "All" and, in the time based cases, an additional property called "datetype" is set respectively based on the condition.
On the TicketsPage, the TicketsGallery items is set to:
If(type="All",Tickets,If(type="Tickets older than 3 days", Filter(Tickets, DateCreated <> datetype && DateCreated <> Text(Today()), DateCreated <> Text(DateAdd(Today(), -2)),DateCreated <> Text(DateAdd(Today(), -1))|| DateClosed <> datetype && DateClosed <> Text(Today()), DateClosed <> Text(DateAdd(Today(),-2)),DateClosed <> Text(DateAdd(Today(), -1))),If(type="Tickets opened today",Filter(Tickets,datetype in DateCreated),If(type="Tickets closed today",Filter(Tickets,datetype in DateClosed),Filter(Tickets,type in Status)))))
The first condition, checks if type is "All" then use the Tickets datasource while the following conditions use the Filter formula to limit the datasource items given a condition.
See the article on filtering for more information. https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/.
Ryan McHenry [MSFT - PowerApps]
Thank you so much for the explanation!
Good Morning, this post is solved but I have a quick question?
If I want to add a new filter, lets say tickets by person how can I achive this?
Thanks in advance for your response
Hi
Were you able to get this firgured out? I'm trying to do the same thing?
Well I give up trying to change this, what I did instead was to replace the current filters by my own in both the excel file and the filter formula. i.e I've changed "On Hold" -> "Jhon Smith" , "Tickets in Progress" by "Jhon Lenon" etc. BTW case sensitive.
Hope this help!
Stay up tp date on the latest blogs and activities in the community News & Announcements.
Mark your calendars and join us for the next Power Apps Community Call on January 20th, 8a PST
Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.
User | Count |
---|---|
198 | |
178 | |
64 | |
34 | |
32 |
User | Count |
---|---|
340 | |
273 | |
116 | |
73 | |
57 |