cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
New Member

Text search box

Hello I am new to PowerApps and I am having issues with the search Items box. I created a simple test list in sharpoint. I want to be able to search the name and have it display from the list below it. I am not sure if I need to make changes in the BrowseGallery1-items area or the TextSearchBox1 area. Thanks for any help!

 

 

Screen Shot 12-15-17 at 01.14 PM.PNG

 

 

 

Screen Shot 12-15-17 at 01.14 PM.PNG

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support
Community Support

Hi @ithinkican123,

 

Yes, you should modify the Items property of the Gallery control.

To have the search box work with the proper field, filter or search function should be used here.

For example, if your SharePoint List has a Field Named with "Name", and you would like to search it with the Search Box, then the formula under the Items property should be modified as below:

SortByColumns(
Filter(ListName,
StartsWith(Name, TextSearchBox1.Text)),
"Title",
If(SortDescending1, Descending, Ascending))

To have the Name Field displayed in the Gallery, please first select the Text field in the first card in Gallery, then under the Data panel, switch the field to ThisItem.Name:

32.PNG

 

Adding some more references:

Gallery control in PowerApps

Understand data forms in Microsoft PowerApps

 

Regards,

Michael

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

View solution in original post

22 REPLIES 22
Community Support
Community Support

Hi @ithinkican123,

 

Yes, you should modify the Items property of the Gallery control.

To have the search box work with the proper field, filter or search function should be used here.

For example, if your SharePoint List has a Field Named with "Name", and you would like to search it with the Search Box, then the formula under the Items property should be modified as below:

SortByColumns(
Filter(ListName,
StartsWith(Name, TextSearchBox1.Text)),
"Title",
If(SortDescending1, Descending, Ascending))

To have the Name Field displayed in the Gallery, please first select the Text field in the first card in Gallery, then under the Data panel, switch the field to ThisItem.Name:

32.PNG

 

Adding some more references:

Gallery control in PowerApps

Understand data forms in Microsoft PowerApps

 

Regards,

Michael

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

View solution in original post

Thanks this worked perfect. 

New Member

I'm new to PowerApps as well. I created a simple powerapp from a SharePoint list and it works great.

But here's my issue:

 

The list I created shows a compilation of remote offices and their Names (Title column) and locations including Street, City, State, ZIP, etc. The current BrowseGallery1 uses a Search feature that filters the list by Title.

However, over several years time in referring to some locations they are identified by the name of the City where they are located. So to facilitate new users, I need to be able to search by Title and City, and have the results displayed.

 

In the current view which is the default view, the Search is done by filtering the results using:

 

SortByColumns(Filter('datasource', StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))

 

As I stated: this works great if I only need to search the 'Title' column. I've tried modifying the syntax to include the additional column search but I know ity is not formatted correctly and throws errors in the PowerApp edit windows.

But how can I modify that string to search for the search string in several columns and display the results?

 

Any help wopuld be greatly appreciated!

Hey @babeach,

 

I don't know if you're still looking for a solution for this.. the problem is that you've got complex Text Fields - when you do a filter on this, it looks at the literal text (so, the formula) rather than the lookup values.

 

I've recently created a gallery where multiple items within it are searchable - the solution was to create multiple invisible labels where the Text is just ThisItem.Thingy then to have the initial search filter run an Or() logic search of those items.

 

I've attached pic of a few of the fields I set up (some require that you use .Value) and below is the code solution:

 

SortByColumns(
      Filter('Issue and Actions',
         (
            Or(
                  StartsWith(Title, TextSearchBox1.Text),
                  StartsWith(Owner.DisplayName, TextSearchBox1.Text),
                  StartsWith(Contract.Value, TextSearchBox1.Text),
                  StartsWith(TypeOfIssue.Value, TextSearchBox1.Text),
                  StartsWith(Text(IssueNo), TextSearchBox1.Text)
                 )
         )
   ),
   "Title",
   If(SortDescending1, Descending, Ascending)
)

 

Fields.png

 

*Edit*

 

In order to delegate the searches back to Sharepoint instead of limiting your results for anything with .Value or .Text columns:

 

Create a new Text column in SharePoint, Call it TheReferredThingActualValue

Refresh the data source in your app, add that column as a field within the gallery, make it invisible.

In any of your edit/new screens have your app fill the Default value of the Textbox of TheReferredThing Card with Text(TheReferredThing.Value) during every edit/new item (or go into sharepoint and retrospectively copy/paste the text value for all historic items OR create a Flow that extracts the Thing.Value and populates the new Text Column with those values).

 

Once those fields are filled, you can change your filter to:

Filter('Issue and Actions',
         (
            Or(
                  StartsWith(Title, TextSearchBox1.Text),
                  StartsWith(OwnerDisplayNameActualValue, TextSearchBox1.Text),
                  StartsWith(ContractActualValue, TextSearchBox1.Text),
                  StartsWith(TypeOfIssueActualValue, TextSearchBox1.Text),
                  StartsWith(Text(IssueNo), TextSearchBox1.Text)
                 )
         )

 

Which will then be Delegable


@iAm_ManCat

Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you!


Thanks!
You and everyone else in the community make it the awesome and welcoming place it is, keep your questions coming and make sure to 'like' anything that makes you 'Appy
Sancho Harker, MVP


Hey @iAm_ManCat - I really appreciate you jumping in here. I firmly believe what you're suggesting is the solution I am looking to implement. Much like @babeach, I've got a SharePoint list, where I want two fields (which are drop downs and have a predefined list of values) searchable - CaseOwner, and status. Status has values like New/In Progress/Closed. CaseOwner has different Names of people who own the case. Much like everyone else has stated, the initial search box will let me search for the name of the, in my case, customer; but any time I add other columns to search by, my gallery goes blank. I think I get an error suggesting that text is the required data type. 

 

When I read your answer however, and being so very new to PowerApps, I was confused by the main important message, do you mind further clarifying? 


I've recently created a gallery where multiple items within it are searchable - the solution was to create multiple invisible labels where the Text is just ThisItem.Thingy then to have the initial search filter run an Or() logic search of those items.

 


 

tempsnip.jpg 

Hi all,

 

I am also new to PowerApps but I'm trying to make a simple app to access the Open tasks from a sharepoint list.

In the browsegallery, I add following function which should seem to work (according to this post):

SortByColumns(
      Filter('Acties - taken',
         (
            Or(
                  StartsWith(Title, TextSearchBox1.Text),
                  StartsWith(ActieManager, TextSearchBox1.Text),
             )
         )
   ),
   "Title",
   If(SortDescending1, Descending, Ascending)
)

 

However, I get an error like included in the screenshot. The field Actiemanager is a person field so probably something is wrong there. I can see that I can use Actiemanager_dataCard1 but that doesn't seem to do the trick either.

 

Furthermore, I would actually search not only the start but I would like to search all fields. For example, all list items which contain my initials. 

Thx for advice, help, 

 

Best,

Tom

Hi there,

 

just found out that I can search for Actiemanager.Displayname. 
When I use this in the filter, it works fine.
The only question remains, is there another function than StartsWith, fx Contains or sth like that?

Best

Hi Tom,

 

You can use 'in' but it's not a delegable command currently so you'll be limited to what is filtered by delegation before it checks that item.

 

When you use Actiemanager.Displayname does it have the blue squiggly lines beneath to show that it's not delegable?

 

Cheers,

Sancho


@iAm_ManCat

Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you!


Thanks!
You and everyone else in the community make it the awesome and welcoming place it is, keep your questions coming and make sure to 'like' anything that makes you 'Appy
Sancho Harker, MVP


Hi @mattyB,

 

Could you paste your code here for the items property of the gallery once you've added in the additional filters?

 

Cheers,

Sancho


@iAm_ManCat

Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you!


Thanks!
You and everyone else in the community make it the awesome and welcoming place it is, keep your questions coming and make sure to 'like' anything that makes you 'Appy
Sancho Harker, MVP


Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

Top Solution Authors
Top Kudoed Authors
Users online (70,547)