cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rehankazi
Advocate I
Advocate I

Reset Function hides Data in Gallery

I have a search box connected to Gallery data source. I have included a RESET button to remove text from the searchbox in order to perform new search. When the RESET is pressed twice it hides the data within the gallery and I cant see the data unless I close the app. (If RESET is pressed once, it removes the text written in the searchbox but doesn't hide the data in the gallery) The issue is when you press the RESET twice the data cannot be seen in the gallery.

rehankazi_2-1635443973863.png

rehankazi_0-1635443677889.png

Below screenshots shows when RESET is pressed twice.

rehankazi_1-1635443718825.png

When I remove the text by using backspace from the searchbox the data in the gallery shows.

 

 

Can someone help?

2 ACCEPTED SOLUTIONS

Accepted Solutions
RandyHayes
Super User
Super User

@rehankazi 

What was your filter formula before?

The current formula you took from us was more of an example than a "use this".  If you want searching, then you need to specify that in the formula...

This formula will only show results if the name is complete - not partial:

Filter(ContactList_1,
    (IsBlank(MySearchTextBox.Text) || Name = TextInputSearch_2.Text)
)

This formula will show results if the name startswith what is typed:

Filter(ContactList_1,
    (IsBlank(MySearchTextBox.Text) || StartsWith(Name, TextInputSearch_2.Text))
)

This formula will search anything that matches (NOTE: This is non-delegable):

Search(ContactList_1,
    TextInputSearch_2.Text, "Name"
)
_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

RandyHayes
Super User
Super User

@rehankazi 

Happy to help!  

@poweractivate thanks for chiming in too!  🙂 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

13 REPLIES 13
RandyHayes
Super User
Super User

@rehankazi 

Can you provide some of the formulas you are using to do this?

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
poweractivate
Super User
Super User

@rehankazi Check if under the Gallery Items property you have ANY occurrences of Filter, Search or similar function,

Then wrap the function like this:

 

 

If(IsBlank(MySearchTextBox.Text),PutSomeDefaultFiltersHere,Filter(MyDataSource, MyColumn = MySearchTextBox.Text))

 

 

 

Pay attention to where you have anything like Filter(MyDataSource, MyColumn = MySearchTextBox.Text). Try to make it so that there is an IsBlank which diverts the logic to a branch that doesn't have Filter(MyDataSource, MyColumn = MySearchTextBox.Text) anywhere in it i.e. some default filters or even just showing ALL the items, e.g.

 

 

 

If(IsBlank(MySearchTextBox.Text),MyDataSource,Filter(MyDataSource, MyColumn = MySearchTextBox.Text))

 

 

 

Check if something like the above adjustment might help you.

 

To summarize the above approach, essentially, it is

 

1. The problem might be that when the control is blank, a Filter function inside the Items property of the Gallery is trying to filter on the column being Blank() instead of the column containing anything. So for example, Filter(MyDataSource, MyColumn = MySearchTextBox.Text) is being interpreted as Filter(MyDataSource, MyColumn = Blank()) which could sometimes cause no results to be shown. 

2. To remedy this, an If function can be wrapped in the Items property and check for IsBlank on the Control of Text Input - if it is Blank, do something as simple as just showing all the Items without ANY filters e.g. just everything in the Data Source, for example. (or, once showing all items were tried, but showing only some items is desired even when the search box is blank, just put some well-tested default filters that cause at least some data to be shown).

3. The above is a general approach. The formulas are not meant to be literal. If your Filter has StartsWith rather than = (equals) in Items property of the Gallery, even so the same may still apply and you still may want to check the above in case it is the issue in your case.

See if it helps.

RandyHayes
Super User
Super User

@poweractivate 

In general, specifying multiple datasources in an Items property with an If statement is a bad practice.  This causes the formula to be less manageable as it might grow larger and also introduces the potential of different schema results from each If branch.

The formula you are trying to describe is better written as:

Filter(MyDataSource,
    (IsBlank(MySearchTextBox.Text) || MyColumn = MySearchTextBox.Text)
)

This shows all records when the search is empty.

 

This shows no records when search is empty:

Filter(MyDataSource,
    MyColumn = MySearchTextBox.Text
)

 

The Default of the TextInput should be blank and the Reset property of the TextBox should be resetButton.Pressed

 

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes I agree, it would be better to write the formula like the way you are doing. I suppose I am also taking a guess of a possible problem, maybe the OP is having another kind of problem. However if the OP is having that problem, I agree with you that putting the IsBlank check inside the Filter like you are doing rather than having the Datasource specified twice putting it on the outside would be a better way to do it actually.

RandyHayes
Super User
Super User

@poweractivate 

Yeah, there is something fishy about the click twice and have to restart the app issue.

As for the combined filter - yes, it's best to be in that practice as some Filters get quite large with conditions and duplicating that in each branch of If's is a nightmare 😉

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
rehankazi
Advocate I
Advocate I

@poweractivate @RandyHayes Thank you. The formula suggested is to be entered on the RESET button? i.e onSelect? It is not working, the RESET function does not work either.

 

rehankazi_0-1635446812182.png

 

RandyHayes
Super User
Super User

@rehankazi 

No the filter formula is to be on your Gallery Items property.  

There should be nothing in the OnSelect action of the button.

The Reset property of your search textinput control should be : yourButtonName.Pressed

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@rehankazi As a troubleshooting step, even if my way is, I agree with @RandyHayes  not ideal way to write it, I am not sure the way I had it may have had slightly different meaning. Can you try it the way I said in Items property of Gallery:

 

 

If(IsBlank(MySearchTextBox.Text),MyDataSource,Filter(MyDataSource, MyColumn = MySearchTextBox.Text))

 

 

 

Even if mine works, I would immediately try to rewrite it the way @RandyHayes suggested as it is better than the one I gave even in my opinion, if that works too then you should rewrite it.

 

And actually this formula should go in Items property of Gallery for Filter - not in OnSelect.

 

In your case it didn't work not because it was @RandyHayes version but because you put it in OnSelect - my version won't work either in OnSelect it only works in the correct place, the Items property of Gallery

poweractivate
Super User
Super User

@rehankazi I thought about it more and I believe @RandyHayes version will have same result as mine, but the version from @RandyHayes  is also the version I prefer, I think it is better as well. Yours did not work because you didn't place it in Items property of Gallery. Please try put @RandyHayes version inside Gallery Items property then it will work.

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Power Platform Call June 2022 768x460.png

Power Platform Community Call

Join us for the next call on June 15, 2022 at 8am PDT.

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.

PA.JPG

New Release Planning Portal (Preview)

Check out our new release planning portal, an interactive way to plan and prepare for upcoming features in Power Platform.

Top Solution Authors
Top Kudoed Authors
Users online (3,632)