cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper I
Helper I

Filtering a gallery across multiple fields using dropdowns or combobox

I have a gallery that I want users to be able to filter based on different fields, and possibly combine two selections for narrowing information. The fields in this instance are;

Status - this list has four types of status which is stored in the SPlist as text (Pending, Available, Active, Completed)

Operation - Same as Status but with more options

RequestedBy - Stored as text

Date

 

So a user may simply want to see items with one or more Status types, e.g. Any items with a status of Pending and Active.

A user may also want to see items in a particular date range.

They may also want to only see items they have requested based on a particular status or operation.

 

Essentially enabling the user to manipulate the gallery items in any combination of the above four fields.

 

At worst, I would be hopeful of having the ability to select multiple Status' and a date range........

My initial efforts have been revolving around the use of a combobox along with either a second one or maybe a dropdown that then narrows what can be selected in the combobox??

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Hi @LabDude ,
We both might be in the same country, but I prefer your 20C to our 40C weather at the moment . . .
To look at what you want to achieve (filter a gallery on multiple items selected by a user), using a ComboBox/DropDown, I believe you would need an In Filter, which is not delegable. It would end up like

Filter(YourData, Status in YourCombo.SelectedItems.Status).

If you have a small number of possibilities (Available, Active, Completed, Pending), why not have four check boxes isAvailable, isActive, isCompleted, isPending and filter on which are checked. So your gallery Items would be

Filter(
   YourData,
   If(
      isAvailable.Value = true,
      Status = "Available"
   )  &&
   If(
      isActive.Value = true,
      Status = "Active"
   )  &&
   If(
      isCompleted.Value = true,
      Status = "Completed"
   )  &&
   If(
      isPending.Value = true,
      Status = "Pending"
   )
)

You can use commas instead of && but you must us || for Or filters.
Happy to give more examples, particularly text box StartsWith queries, which are really useful for users.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

View solution in original post

9 REPLIES 9
Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Hi @LabDude ,

There are many ways of filtering with and/or combinations including whether the item is a match, starts with the text and in a date range being a few.

Some of these are not delegable querying directly, meaning a collection is the best approach if possible (as delegation does not affect them).

For example, the Status, Operation and Requested by are text and Equals (=) or StartsWith can be queried directly, but In (text somewhere in it) is not. Date queries are not delegable.

It really depends whether you want to filter down progressively or give the user the option of many data set overall filters.

If you can settle on some options, I am happy to help up you with the code. 

Highlighted
Helper I
Helper I

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Thanks @WarrenBelz 

I am definitely trying to avoid non-delagable options, even though at this stage, I believe the users would not have to go back beyond 500 records via the gallery, definitely not more than 2000. If they needed to search for data further back, I intend to to organise another option outside of powerapps for this.

 

I'll work on this from a "what do I want to know when using the gallery" perspective:

 

I want to see what items are currently Active, Available or Pending.......or;

I want to see all the items I have requested......or;

I want to see all the items I have requested that are a particular status........or;

I want to see all items that are currently Pending, Available or Active that are an 'x' Operation

 

I am watching a few videos by Shane Young that I feel might have the answers, but not all of them.

The particular video I have seen, he sets up two dropdowns that allow different combinations of filtering along with a search option based on what has been selected in the two dropdowns. My issue is that I need the ability to select multiple values for certain fields (Status, Operation).

 

I am away for the next day so may not be able to respond quickly to any help you might provide but I appreciate any guidance on this.

 

 

 

Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

OK @LabDude ,

The best idea is to give me:-

  • a screenshot and some notes on what the fields are called
  • The types of the controls (Text Input, DropDown/ComboBox (and the Items property), DatePicker etc

Also as you mentioned, have a delegable filter to get the gallery contents under 2000 records - a collection is the best thing to use with multiple filters as it responds much quicker. I think I saw the video from Shane @Shanescows some time ago (I have watched most of his). Filtering is really down to a combination of and/or statements and if you can avoid non-delegable queries, most things can be worked out. 

Please tell me when you are ready to do some work on this. Time zone may also be an issue - I am in Queensland, Australia (UTC +10)

 

Highlighted
Helper I
Helper I

Re: Filtering a gallery across multiple fields using dropdowns or combobox

@WarrenBelz I appreciate your help. I have attached an image with some explanations and what the gallery looks like.

All the data is single line of text with exception of Priority which is a choice field and the Request Date is a date field.

Batch Code and TankID fields are filled via comboboxes in a form, but are pulling data from their own separate lists in SP. This means I have data integrity control while still being able to avoid complex data format. My intention is to do the same for Operations, but for now it is single line of text so users can write whatever they wish in this section.

 

All data is stored on SP lists. I am based in Aus so time zone is all good!

 

gallery filter.png

Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

While considering @WarrenBelz
You can also follow this video from Reza
https://youtu.be/44j2VRbdWjk

If you like this post, give a thumbs up. Where it solved your issue, Mark as a solution
Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Hi @LabDude ,

Rather than go into specific control examples, filtering is a matter of

 

Filter(
   [DataSource],
   [All the and/or stuff]
)

 

There are also things like Sort and AddColumns/DropColumns for restricting the fields, but that is not covered here.

When referring to controls:-

  • TextBoxes are ControlName.Text 
  • DatePickers are ControlName.SelectedDate
  • DropDown / ComBoxes are ControlName.Selected.xxxx (being .Value / .Result / .FieldName) depending on how they are formed

So in the and/or stuff - you can use && instead of And() and || instead of Or()

Always use brackets in any combination involving both && and ||

If you give me some examples of what you are wanting to do with actual control and data source names. I will give you some sample code. 

Where are you in Oz?

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

 

Highlighted
Helper I
Helper I

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Hi @WarrenBelz ,

I am starting to see and understand this area a bit more now but for an example to help me on my way, using the information I posted earlier, one thing I would like to do is this:

 

Filter the gallery by Active & Available status.

 

I feel like the use of the dropdown may be a limiting factor in what I am trying to do for filtering - or at least the options I have given to use in the dropdown?

Code for filtering aside, do I need to look at what tools I have provided myself in order to do the filtering that I want?

That is why I have looked at a combination of dropdowns and/or combobox. 

 

Not trying to raise more questions but more thinking aloud and outside of the box (at least the box I am in due to my inexperience)

 

I am in Victoria so we are only an hours difference in time zones haha

Highlighted
Community Champion
Community Champion

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Hi @LabDude ,
We both might be in the same country, but I prefer your 20C to our 40C weather at the moment . . .
To look at what you want to achieve (filter a gallery on multiple items selected by a user), using a ComboBox/DropDown, I believe you would need an In Filter, which is not delegable. It would end up like

Filter(YourData, Status in YourCombo.SelectedItems.Status).

If you have a small number of possibilities (Available, Active, Completed, Pending), why not have four check boxes isAvailable, isActive, isCompleted, isPending and filter on which are checked. So your gallery Items would be

Filter(
   YourData,
   If(
      isAvailable.Value = true,
      Status = "Available"
   )  &&
   If(
      isActive.Value = true,
      Status = "Active"
   )  &&
   If(
      isCompleted.Value = true,
      Status = "Completed"
   )  &&
   If(
      isPending.Value = true,
      Status = "Pending"
   )
)

You can use commas instead of && but you must us || for Or filters.
Happy to give more examples, particularly text box StartsWith queries, which are really useful for users.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

View solution in original post

Highlighted
Helper I
Helper I

Re: Filtering a gallery across multiple fields using dropdowns or combobox

Thanks again, I'll take all of this and the information from your other posts on board when building further apps using galleries.

Helpful resources

Announcements
Check this Out

Helpful information

Featuring samples like Return to the Workplace and Emergency Response Applications

August 2020 Community Challenge: Can You Solve These?

August 2020 Community Challenge: Can You Solve These?

We're excited to announce our first cross-community 'Can You Solve These?' challenge!

secondImage

Return to Workplace

Reopen responsibly, monitor intelligently, and protect continuously with solutions for a safer work environment.

secondImage

Super Users Coming in August

We are excited for the next Super User season.

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,181)