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
Solved! Go to Solution.
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.
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.
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
User | Count |
---|---|
164 | |
94 | |
64 | |
63 | |
61 |
User | Count |
---|---|
234 | |
162 | |
95 | |
83 | |
81 |