cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Browse gallery filtering with textsearchbox

Hi everyone,

 

I have an app linked to a SharePoint list. I would like to combine the filtering conditions I have with a textsearchbox which identifies part of the text.

My browse gallery shows registration plates, and I want the textsearchbox to filter them just introducing part of the numbers and letters of the plate.

 

Righ now I have the following formula to filter the gallery:

 

Distinct(Filter(SPList;Or('Condition 1;'Condition 2;'Condition3) &&' Condition4);ColumRegistrationumber)

 

¿How can I add to this filter one like the one that follows?

Filter(SPList; TextSearchBox1.Text; ColumRegistrationumber)

 

¿Is there any alternative way to get this filter?

 

Thank you very much!

 

Regards,

Masoud9

1 ACCEPTED SOLUTION

Accepted Solutions
Drrickryp
Super User
Super User

Hi @Anonymous 

If you are working with a SharePoint datasource, you would need to use the "in" operator. Your formula containing the Distinct() function produces a one column table with a column named Result.  Assuming that your current formula works, then 

Filter(Distinct(Filter(SPList;Or('Condition 1;'Condition 2;'Condition3) &&' Condition4);ColumRegistrationumber);
TextSearchBox1.Text in Result)

should search the Result column for any item containing part or all of the plate numbers.  However, "in" is not delegatable in SharePoint so the number of items resulting from your filter would need to be less than the delegation limit. 

Another way to do it would be to create a collection using your formula and then you could use the Search() function on the collection.  In that case, you would use

ClearCollect(colRegNumbers, Distinct(Filter(SPList; Or('Condition 1; 'Condition 2; 'Condition3) &&' Condition4);
ColumRegistrationumber))

 as the OnSelect property of a button and then set the Items property of the gallery to 

Search(colRegNumbers; TextSearchBox1.Text; Result)

You would still run up against a delegation problem since ClearCollect() and Collect() are not delegatable but there would be no delegation error in the Items property of the gallery.

 

View solution in original post

2 REPLIES 2
Drrickryp
Super User
Super User

Hi @Anonymous 

If you are working with a SharePoint datasource, you would need to use the "in" operator. Your formula containing the Distinct() function produces a one column table with a column named Result.  Assuming that your current formula works, then 

Filter(Distinct(Filter(SPList;Or('Condition 1;'Condition 2;'Condition3) &&' Condition4);ColumRegistrationumber);
TextSearchBox1.Text in Result)

should search the Result column for any item containing part or all of the plate numbers.  However, "in" is not delegatable in SharePoint so the number of items resulting from your filter would need to be less than the delegation limit. 

Another way to do it would be to create a collection using your formula and then you could use the Search() function on the collection.  In that case, you would use

ClearCollect(colRegNumbers, Distinct(Filter(SPList; Or('Condition 1; 'Condition 2; 'Condition3) &&' Condition4);
ColumRegistrationumber))

 as the OnSelect property of a button and then set the Items property of the gallery to 

Search(colRegNumbers; TextSearchBox1.Text; Result)

You would still run up against a delegation problem since ClearCollect() and Collect() are not delegatable but there would be no delegation error in the Items property of the gallery.

 

Anonymous
Not applicable

Thank you very much @Drrickryp , that was perfect!

Helpful resources

Announcements
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (1,197)