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

Add Switch function to current With and If functions for Gallery

Hello!

 

I currently have this code in my items preference in my powerapp:

 

With( { _Data Search( Filter( 'SHAREPOINTLIST', IsEmpty(ComboBox7.SelectedItems) || Len(ComboBox7.Selected.Value) = 0 || Status.Value in ComboBox7.SelectedItems.Value ), TextSearchBox1.Text, "RiskTitle" ) }, If( IsEmpty(ComboBox6.SelectedItems) || Len(ComboBox6.Selected.Value) = 0, _Data, Ungroup( ForAll( ComboBox6.SelectedItems As _selections, Filter( _Data, _selections.Value in Branchlead.Value ) ), "Value" ) ) )

 

and I want to combine it with this Switch function without losing my current functionality (So I can add arrow icons next to the column names to sort the gallery as well as keeping the current functionality of using the two combo boxes and the search bar):

 

Switch( locSortColumn, "Ref", Sort('Title', Ref, If(locSortAscending, Ascending, Decending)), "Title", Sort('Risk Title', Title, If(locSortAscending, Ascending, Descending)), 'SHAREPOINTLIST' )

 

Your help will be greatly appreciated!!

7 REPLIES 7

when you say

Switch( 
locSortColumn, "Ref", 
Sort('Title', Ref, If(locSortAscending, Ascending, Decending)), 
"Title", 
Sort('Risk Title', Title, If(locSortAscending, Ascending, Descending)
), 
'SHAREPOINTLIST' )

you are, based on the result of your switch, showing one of 3 DIFFERENT data sources in this gallery, is that the intended result? And if so, are all 3 the exact same layout in terms of columns/column names?

And if all the above is true, is this to take the place of your datasource at the with({ level so that the result of the switch becomes your _Data?

 

if the only thing you want is your current gallery as is, but with the ability to sort, there are easier ways imo.

 

Like below

SortByColumns(
//using just a plain example of original data below
//you could plug your working gallery items in between this and the //end gallery
	ForAll(
	Sequence(300) As exampleList, 
	{Value:exampleList.Value, seatName: GUID()}),
//end gallery
//I check a variable that tells me what column I will sort by
If(sortByVal, "Value", "seatName"),
//I check a variable that gives me the sort direction
If(sortAscending, SortOrder.Ascending,SortOrder.Descending)
)            

 

this comes from two buttons (could be sort icons) that simply onselect

If(sortByVal, Set(sortByVal, false), Set(sortByVal, true))
If(sortAscending, Set(sortAscending, false), Set(sortAscending, true))
_____________________________________________________________________________________
Like my answer? - Hit that Thumbs Up. Resolved the Issue? - Hit Accept as Solution.
This helps others find solutions to future issues!

Hi Rob! Thank you for you time.

 

i think it would be easier if i explained the functionality i need in the app:


what i have:

- vertical gallery linked to a share point list

- two dropdown boxes to sort said gallery by specific options selected in the list (status & branchlead)

- text search box to search for words in a specific column (Title)

 

what I also want:

arrows on the headings of the columns above the gallery (which are text separate from the vertical gallery) to sort the gallery - eg, arrow next to the Ref column that sorts the gallery in ascending / Descending order.

the columns I’d like this on are:

Ref

IR Score (the output is a letter and a number, eg: A1)

RR Score

TR Score

Last Reviewed

Next Review Date

 

If you could help me implement the above functions then I’m not precious about the code I already have!

 

So, just giving a test version of what you had but on my side, I have a very simple sharepoint list set up right that I was able to give a random set of numbers and names. I used this button to populate it.

Patch(VenueList, ForAll(Sequence(50) As testGroup, {Title: "Random"&Right(Last(Split(Rand(), ".")).Value,4), Phone: testGroup.Value, testGuid:GUID(), testGuid2: GUID()}))

 

this way I had a group of records to work the filter setup on.

Now search is NOT able to be delegated and will give you a warning used directly on the dataset itself, so I moved this portion to after the with to remove the delegation error from the filter I was receiving.


I set the two combo boxes to each give me the VenueList items, one showing the testGuid, and other showing testGuid2.

I then set their OnChange to

first one

ClearCollect(testGui, Ungroup(ForAll(Self.SelectedItems As choicesMade, Filter(VenueList, testGuid=choicesMade.testGuid)), "Value"));
ClearCollect(guiCollected, testGui, testGui2)

 

second one

ClearCollect(testGui2, Ungroup(ForAll(Self.SelectedItems As choicesMade, Filter(VenueList, testGuid2=choicesMade.testGuid2)),"Value"        ));
ClearCollect(guiCollected, testGui, testGui2)


I have these set because (in) as a filter function is can not be delegated by SharePoint and if your list ever passes the threshold max of 2k, it will cease to function properly with in.

So next I set a HORIZONTAL gallery on my page and gave it the items property

Sequence(4)

and put 4 labels in it to visually display each column i would like to be able to sort by, this can be increased as much as you like. also made its fill change if selected so that theres a visual reference, and added an icon to display up and down so that is represented as well OnSelect of the gallery is

If(sortAsc, Set(sortAsc, false), Set(sortAsc, true))

 

filter for my final gallery where everything is displayed ends up being this

SortByColumns(
//Determine if we look at source directly, or a narrowed Version
With({dataSet: Switch(
                IsBlank(Concat(ComboBox1.SelectedItems,VenueName)) &&                                            
                IsBlank(Concat(ComboBox1_1.SelectedItems,VenueName)),
                true, 
//Warning if NO narrowing is selected and entire list is returned
//and is greater than 2000 items, the Search will still not work
//and if this becomes a regular thing for you, you should
//probably restrict the search to StartsWith       
                VenueList,
                guiCollected)
      }, 
//Search the Results     
      Search(dataSet, TextInput1.Text, "Title")
      ), 
//Sort By Choice
      Switch(Gallery3.Selected.Value, 2, "Phone", 3, "testGuid", 4, "testGuid2", "Title"),       
//Sort By Direction      
      Switch(sortAsc, false, SortOrder.Descending, SortOrder.Ascending)
 )

 

still not 100% happy with the search as if no filters are chosen in the combo boxes, and entire list returned is over 2k items it still will not function properly and would then likely be better to use StartsWith, but if you are confident that your dataset will never surpass max thresholds thats fine.

 

 

 

_____________________________________________________________________________________
Like my answer? - Hit that Thumbs Up. Resolved the Issue? - Hit Accept as Solution.
This helps others find solutions to future issues!

the SharePoint list I was testing with, appearance

TheRobRush_0-1707156822088.png

 

_____________________________________________________________________________________
Like my answer? - Hit that Thumbs Up. Resolved the Issue? - Hit Accept as Solution.
This helps others find solutions to future issues!

Hi Rob,

 

Thank you for your support and I am sorry for the delay with my reply.

 

I’ve tried to replicate your described solution but I’m unable to get the horizontal gallery to work correctly (when I add a text label it duplicates it to all the others for example). Additionally I’m getting errors when applying the formula to the ‘OnChange’ section in the COMBOBOX formula with the “COMBOBOX=choicesMade.COMBOBOX))”.

 

I may be missing something and I do apologise if I am.

 

Best wishes

once you set your horizontal gallery items to Sequence(4) or other number, place one label in this gallery with width of parent.templatewidth*.9, height parent.templateheight*.9, x of parent.templatewidth/2-self.width/2, and y of parent.templateheight/2-self.height/2 Now give it a text property of

Switch(ThisItem.Value, 
     1, "First Option You want to Sort By",
     2, "Second Option you want to sort by", 
     3, "Third Option You want to sort By",
     "Last Option You want to Sort By")

 

for combobox part i would need to see some images of the sharepoint list (how its set up) and your combo box settings as well, formula, items etc

_____________________________________________________________________________________
Like my answer? - Hit that Thumbs Up. Resolved the Issue? - Hit Accept as Solution.
This helps others find solutions to future issues!

Hi Rob - can’t send you pictures of the share point list I’m afraid as it’s sensitive information but essentially it’s a combination of text, single choice, multi choice fields. I’m not displaying all the fields in the gallery though - the fields I’m wanting to show are:

 

- title column

- multi line text field

- multiple choice field

- 3 formula fields (these fields are made up of two fields in the share point list - one letter selection and one number selection which is concentrated together x 3)

- people field

- single choice field

- multiple text field x3

- date field x 2

-

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,202)