cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jed76
Post Prodigy
Post Prodigy

ComboBox IsEmpty not working?

I can't understand what I'm doing wrong here:

 

I'd like a ComboBox to either be visible or not (or I could use DisplayMode.Edit / DisplayMode.View) if another ComboBox is empty. However, it doesn't seem to work and even when I use:

 

If(!IsEmpty(ComboBox1.Selected),DisplayMode.View,DisplayMode.Edit) for the DisplayMode of the other ComboBox, it still seems to think that there is some content in the ComboBox even when it is actually blank / empty? This means the other ComboBox remains in VIEW mode even when the other box is blank?

30 REPLIES 30

@poweractivate 

Selected on a Combobox is not going anywhere!!  The property that was always in question was SelectedText property.  It is absolutely ambiguous and has no particular use because it really ignores the underlying record.  And, what is the purpose of a Selected or SelectedItems property...to return the record of the selection!

 

.Selected on a combobox will return the last selected item.  If you select 10 items in the combobox, then the 10th one is what Selected would represent.  Is it meaningful for a multi-select combobox?  Not really, but in the context of determining if anything is selected at all, it is highly sufficient.  In the case of a single-select combobox it is highly needed.

 

As for the confusion - it is common across all of PowerApps when dealing with properties to observe the plurality of the property.  Anything with an "s" on the end is going to provide a Table.  Anything without it, will provide a record.  i.e.   Items is a table.  Item is a record.  SelectedItems is a table.  Selected is a record, etc.

 

So again, to re-iterate on the use of either for a combobox - If you have multi-select, then Selected will return the last selected item.  This is useful in many ways, but one in particular is just to determine if anything is selected.  SelectedItems will always be a table and sometimes it is a waste of time to pull the table and then pull a record when Selected will suffice.

 

As for the "unexpected outcome"...it is not unexpected!!  It is the last item selected.  If you wanted to actually know the last item selected as the use selects items, then it is highly important - otherwise there would be NO way to determine it.

 

As for the docs...well, there is a lot of missing stuff in the docs.  I always consider them a work in progress!!

 

But this point - "The Selected property on a Combo Box control introduces ambiguity on what Record is returned in the case that the Combo Box does have multiple selections. " Is not true.  It is not ambiguous!  It is the last selected record of the control.  If you were in a scenario where you needed to pull in some other data based on the selection made (one at a time) while still needing to hold the table of selections, then Selected is highly important and accurate.

 

I would not expect to see Selected deprecated in any way.  This is a highly important property of the combobox.  Unlike the SelectedText property that has been marked as deprecated for years it too has not gone away (but still should never be used).  Selected is not marked as such and would completely break MANY apps as it is relied on heavily.

_____________________________________________________________________________________
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 with it, I think it should be seen this way. So it is the last item in multi select Combo Box. It would be then be shorthand to Last(cb.SelectedItems). I agree it would be more convenient this way because a one selection Combo Box is quite frequent and always requiring Last(cb.SelectedItems) could be pedantic. Also, if Selected really does internally pull one record in backend, and the use case is just to check if it is selected, this could be important as the other way would introduce inefficiency. Also, yes, lots of apps rely on it, I am aware of it. In the context of Power Apps, my understanding is similar to yours and I like it that way. Thank you for taking the time to clarify it!

@jed76 

If you have a blank selection, then you want to have it reflected in the record when you submit the form.

To do that, make sure you have the formula level error management feature turned on.

 

After that, your only concern (as far as I can tell) is to simply determine if anything is selected in the combobox in order to govern the DisplayMode of the other control.  Is that not correct?

_____________________________________________________________________________________
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!

@jed76 

Actually No-and Yes!! 😂  It would not be the equivalent of Last(cb.SelectedItems).  Using that would give you the last item in the table of selections.  That would/could be unreliable.  

 

Selected would give you the last item that was selected.  

 

NOW...I say that it could be unreliable because that is something that I would expect could cause issues at any point.

Technically the combobox, currently, will build a table of selections that is ordered by the selections made.  And, technically, Last(selectedItems) would give you the last selection made.  But...if the ordering of that returned table is impacted in any way, then it would not necessarily be the last selected item.

 

Is it safe to bet on Last(selectedItems)?  Probably so, but then the lazy typing person comes out in me and say there is much less typing for Selected over Last(selectedItems) 😉

_____________________________________________________________________________________
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 

You are right, I think it may not even be the same, and to me the principle behind Selected makes sense exactly like that. I really think your explanation is very excellent on this matter and it's very helpful, thanks for it! 🙂

@poweractivate 

Oh my - happy to explain anything in PowerApps!  I've been living and breathing this stuff for many years now non-stop!  So it is second nature to me.  I am more than happy to explain because I really want everyone to share that knowledge and take their PowerApps to a whole new level!!  The sooner people get out of the weeds of "plumbing" the sooner they design so many wonderful things.  

 

When someone says "Can we make it do this?" - It's that difference between a response of "Hmmmm" and "Piece of cake!"

_____________________________________________________________________________________
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!

I have formula level error management turned on and it still won't patch a blank back in this particular ComboBox but it does with the other?!

 

SO essentially, yes you're right. I can get the DisplayMode of the other ComboBox to change when the gallery is "new". However, when I save it back to the data source and got back into the Gallery I still want it to do the same. As the DefaultSelectedItem of the ComboBox is set to read the value from the Data Source, it's obviously no longer blank? So, I created an OR statement based on whether the ComboBox is blank OR if the ThisItem.Value is blank, which does work, but obviously only if I patch a blank record back to the data source first? This is where I am finding a problem as I can't patch blank?

@RandyHayes It's OK, I have sorted the Patching BLANK - this now works. I had a toggle button to activate only when it detected a change which then flagged when a change to an item had taken place and so whether a patch back was needed. I'd forgotten to include this particular combobox in the logic which activated the toggle!

 

However, any thoughts on how I can set the display mode of the other combo box to still work if the other combobox's default selected item isn't blank until it is patched back if you see what I mean? Everything is now working as expected, but I need to save the gallery back to the data source (so the blank is patched back first) and then I need to reopen the gallery again. I'd sooner not need to do this.

@jed76 

Your DSI property is going to dictate what IS selected.  So looking at the SelectedItems will give you the results of the DSI (as long as no other selections are made).  However, if you want to check the status of the DSI even beyond the selection by the user, then you would need to utilize that formula.

I was reading back through the posts and I don't see that you have posted your DSI property (or maybe I just missed it)...so what is that?

_____________________________________________________________________________________
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!

Thanks.

 

it is ThisItem.CrewName

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 (2,232)