cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Power Participant
Power Participant

Filter gallery on Current user and Text input field

Hi 

 

Im having trouble sorting out a filter need on a gallery in powerapps.

I would like to display only items created by the user. To do this i do the following.

Gallery item: Filter('ListName', Author.Email=CurrentUser)

The above works fine.

 

Now i have a Text input where i would like users to search the items they have created.

I can do that with the following.

SortByColumns(Filter('ListName', StartsWith(Title, TextInput.Text)), "Title")

The above sorts all items.

 

How can i combine both?

I want the user to only see the items they have created and i want them to be able to use the text box to search there items using the title.

 

 

6 REPLIES 6
Highlighted
Resident Rockstar
Resident Rockstar

Re: Filter gallery on Current user and Text input field

Assuming the users only ever see their own items, you could create a collection in either App.OnStart or screen OnVisible that filters the data source 'ListName' for the users items. Then use this collection for the Items of your gallery.

 

Eg.

App.OnStart = ClearCollect( colUserItems, Filter('ListName', Author.Email=CurrentUser) )

Gallery.Items = colUserItems

Highlighted
Power Participant
Power Participant

Re: Filter gallery on Current user and Text input field

Looks like i can use the following.
Filter('ListName', Author.Email=CurrentUser || SearchCourses.Text in Title)

 

I do get a delegation warning so i wonder if there is a better way to do this?

Highlighted
Power Participant
Power Participant

Re: Filter gallery on Current user and Text input field

@Eelman Thank you for answering.

Im trying to have a searchbox that can search the gallery to and display only current users items. If search is empty ti shows the user a list of all there items then they can use search to to find more specific items in there own list

Highlighted
Resident Rockstar
Resident Rockstar

Re: Filter gallery on Current user and Text input field

@JimmyWork if this code works use it. You can mostly ignore the delegation warnings if your data sources are pretty small (<2000 records)

Highlighted
Super User
Super User

Re: Filter gallery on Current user and Text input field

You’ve done all the hard work. All we have to do is combine your functions and do a little magic with IF + ISBLANK. This might solve your delegation issue too.

SortByColumns(Filter('ListName',Author.Email=CurrentUser,If(IsBlank(TextInput.Text),true,StartsWith(Title, TextInput.Text))),"Title")

—-
Please Accept as Solution if this post answered your question so others may find it more quickly. If you found this post helpful consider giving it a Thumbs Up.
Highlighted
Community Support
Community Support

Re: Filter gallery on Current user and Text input field

Hi @JimmyWork ,

Do you want to combine the two filter condition that you mentioned?

 

Currently, the 'in' operator could not be delegated within SP connector, please check the following article:

https://docs.microsoft.com/en-us/connectors/sharepointonline/#powerapps-delegable-functions-and-oper...

 

Please consider modify your formula as below:

SortByColumns(
               Filter(
                      'ListName',
                       Author.Email = CurrentUser,
                       StartsWith(Title, TextInput.Text)
               ), 
               "Title"
)

Note: I assume that the CurrentUser store the email address of the current login user.

or

SortByColumns(
               Filter(
                      'ListName',
                       Author.Email = CurrentUser,
                       If(
                          IsBlank(TextSearchBox1.Text),
                          true,
                          StartsWith(Title, TextInput.Text)
                       )
               ), 
               "Title"
)

 

If the amount of your SP List records is not more than 2000, you could ignore the Delegation warning issue within your formula (using 'in' operator). If the amount of your SP List records is more than 2000, you could consider bulk-load your SP list records into your app as Collection. Then use the collection as data source in your app.

Please check and see if the alternative solution I mentioned below could help in your scenario:

https://powerusers.microsoft.com/t5/Building-Power-Apps-Formerly/Sort-gallery-with-multiple-fields/t...

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
secondImage

Demo-Extravaganza 2020

Check out these cool Power Apps & vote on your favorite!

secondImage

Community Highlights

Check out whats happening in Power Apps

secondImage

Community User Group Member Badges

FIll out a quick form to claim your community user group member badge today!

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Top Kudoed Authors
Users online (10,324)