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

Filter and Search a Gallery

I am developing an app that will allow a user to search for a project in a Gallery using a text input box and to also filter by active projects using a checkbox. The data is stored in a sql database.

 

My filter code is not working a expected and I need some help combining the search and filter. The following filter code works when the checkbox is true. when the checkbox is false (unchecked) it returns nothing. The "Active" database field is a bit data type.

 

If(IsEmpty(Checkbox3.Value), '[dbo].[Project_Information]', Filter('[dbo].[Project_Information]', Checkbox3.Value, Active))

 

I would like to combine the filter code with the the following search code. Not sure how to do this.

 

If(IsBlank(TextInput2.Text), '[dbo].[Project_Information]', Search('[dbo].[Project_Information]', TextInput2.Text, "Project_Name", "Project_Number"))

 

Thanks in advance for any suggestions.

3 REPLIES 3
CarlosFigueira
Power Apps
Power Apps

If you need to use two conditions (the checkbox - checked or unchecked - and the text input (blank or not), you can use a series of conditions in an If function like is shown below:

If(
    !Checkbox3.Value && IsBlank(TextInput2.Text), '[dbo].[Project_Information]',
    IsBlank(TextInput2.Text), Filter('[dbo].[Project_Information]', Active),
    !Checkbox3.Value, Search('[dbo].[Project_Information]', TextInput2.Text, "Project_Name", "Project_Number")
    Search(Filter('[dbo].[Project_Information]', Active), TextInput2.Text, "Project_Name", "Project_Number"))

- In the first line / condition (checkbox unchecked and text input blank), you would use the entire table

- In the second line (text input blank), since you know that the checkbox cannot be unchecked (otherwise it would have matched the first condition), only perform the Active filter

- In the third line, we already know that the text input is not blank (covered by the first two cases), so if the checkbox is unchecked, perform only the Search operation

- Finally, if none of the above conditions were matched (e.g., the checkbox is checked and the text input is not blank), then perform both search and filter operations.

 

You could possibly merge a couple of those lines, but I find that it makes it clearer what is being done this way.

 

Hope this helps!

Thanks Carlos,

 

I have tried the code you provided but I get an error that the If statement has invalid arguments. Any help would be greatly appriciated.

Missing a comma at the end of the 4th line:

 

If(
    !Checkbox3.Value && IsBlank(TextInput2.Text), '[dbo].[Project_Information]',
    IsBlank(TextInput2.Text), Filter('[dbo].[Project_Information]', Active),
    !Checkbox3.Value, Search('[dbo].[Project_Information]', TextInput2.Text, "Project_Name", "Project_Number"),
    Search(Filter('[dbo].[Project_Information]', Active), TextInput2.Text, "Project_Name", "Project_Number"))

 

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (3,038)