cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Marissa_Yee
Frequent Visitor

Cascading Combo Box

Hello,

 

I had previously customized a SharePoint list form using PowerApps successfully early in January. However, after the 1/18/2018 updates, I can no longer customoize a SharePoint list form the same way.

 

I have a SharePoint list, Expense Report, that is going to be used to record expenese incurred on projects.  This list has 2 SharePont lookup fields from 2 other SharePoint lists - Clients and Projects.  We'll first select the Client and then based on that the associated Projects would be displayed for selection.  Previously, I had done this using galleries and within the edit form the Client and Project fields were automatically populated with the selections made within the galleries (I used WonderLaura's videos/blog posts).  The fields within the edit form were the Lookup control that was provided; however, now it seems the Lookup control has been replaced with a Combo Box control.

 

I have not been able to find much guidance on the use of Combo Boxes and it is unclear to me what properties to use and modify in order to be able to record the selection of Client and Project from the galleries set up.  This is the formula i had previously used for the Lookup controls for the Default property of the data card:

 

{ '@odata.type' : "Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", Id : Value(GalleryClient.Selected.ID), Value: GalleryClient.Selected.Title}

 

Does anyone have any recommendations with how to achieve cascading combo boxes and create records for a SharePoint list using customized PowerApps forms?

 

38 REPLIES 38

Hi @TonySuslovich,

I'm sure we going to find a solution to your problem... 😉

Could please first give me the data type for your Business ID and some examples of its value?

Hi @R3dKap  Thanks for finding the time to reply. Business ID is GUID.

So Business table can look like this (for simplicity purpose):

 

Business IDBusiness Name
a765eace-0587-4180-8dd9-d07850625d89Energy
8850d44a-1cd6-484b-bdf3-3ddb279d29ceAviation
ad79feec-976a-424f-8e21-736863a26bbeHealthcare

 

Sub-Business table can look like this:

 

Sub-Business IDSub-Business NameBusiness ID
7f133fab-566a-434d-be92-f6413b9166c5Nuclear Energya765eace-0587-4180-8dd9-d07850625d89
3441cf4d-3d7e-48e0-9fb8-92929494a098Primary Caread79feec-976a-424f-8e21-736863a26bbe
7e49bc86-077d-4688-b980-549baf1fe9f4Control Towers8850d44a-1cd6-484b-bdf3-3ddb279d29ce
f60b850c-2518-44ac-81f3-ff9e16a73aa0Airside Engineering8850d44a-1cd6-484b-bdf3-3ddb279d29ce

 

So I can easily get the Business GUID from the Businesses comb-box, but I cannot figure out a way to filter Sub-Businesses combo-box based on the value selected in Businesses comb-box.  For example, if Aviation is selected in Businesses comb-box, I only want to display the 2 Sub-Businesses relevant to this Business (Control Towers and Airside Engineering).

 

Best regards,

-Tony Suslovich.

Hi @R3dKap Don't mean to rush, but should I post this as a separate question? 

 

Best  regards,

-Tony Suslovich.

Hi @TonySuslovich,

Sorry for the delay... Having a look at it right now... I'll get back to you as soon as I figure it out...

R3dKap

Ok... So... Going back to your original post reminded me that your Business ID and Sub-business ID columns are located in entities. I'm not very familiar with entities yet (just starting to work with them these last days actually). Nevertheless, I'll try to figure something out...

In fact, the best way for me to help you si that I reproduce your case on my personal tenant. Could you please describe tell me how to create these two entities? I mean, I know how to create entities, but just... may be... if you could post here captures of the fields inside the entites, the relationships, and give me as much details as possible so I can recreate these entities on my side.

Then I'll setup the combo boxes for you.

Waiting for your inputs...

R3dKap

Hi @R3dKap Of course. So the first entity (Business) is very straight forward. You don't need to create any extra attributes there. The 2nd one you create (Sub-Business) will just have 1 additional attribute that you will need to setup as in the screenshot below: pic5.png

Data Type will be Lookup and Target Record Type will be the 1st entity you created (Business). It will default the Relationship Name which is pretty meaningless, so keep it the way it wants to name it. You don't really need to do anything else for this particular purpose.

 

Once again, thanks for taking your time trying to help!

 

Best regards,

-Tony Suslovich.

Hi @TonySuslovich,

Ok, so I've reproduced your entities on my tenant and created an app to make the two combo boxes depend on each other. Here is how I did it...

My Business entity:

Image 3.png

The Name field is the custom field I created when I first made the entity. The Business field was automatically generated by the system (to identify a unique entry I suppose; again, I'm not too familiar with entities yet).

My SubBusiness entity:

Image 4.png

Same here, for the SubBusiness entity. Except that the Business field was (I suppose) automatically created when I set up the relationship between the two entities.

How I linked the two combo boxes:

  • added the two entites to my app
  • added a cbxBusiness combo box linked to Businesses entity
  • added a cbxSubBusiness combo box linked to SubBusinesses entity
  • on cbxSubBusiness:
    • clicked on the "Depends on..." link in the Properties panel which showed up like this:
      Image 5.png
    • selected Business as the matching field:
      Image 6.png
    • clicked Apply
    • got an error in the formula:
      Image 7.png
    • fixed it by adding ".Business" to the Business field on the left-hand side of the equality test:
      Image 8.png

Then the combo boxes worked fine on my side.

Try it and tell me if this works for you as well...

 

Hi @R3dKap Thanks for going an extra mile! So I tried your approach (still not sure why it doesn't put together the right formula when you use Depends functionality) and it didn't work at first. I was playing with different combinations and finally it worked (just mostly because of the brute force and not common sense). Here's what worked:

 

Power Apps.png

 

As you can see, the syntax is exactly like yours and the only difference is the 1st parameter. It seems like it didn't understand the entity name as the first parameter in the Filer function but it understood the actual control name on the form (I assume this is what [@'Sub Business'] is referring to? Very strange syntax indeed. But I'm really lost why it worked for you but didn't for me. There has to be some sort of explanation?

 

Best regards,

-Tony Suslovich.

I'm glad it finally worked! About the [@...], it's called the disambiguation operator (Disambiguation operator). It's used to differentiate columns that have the same name in complex formulas. I noticed that sometimes, datasources are also automatically referenced using this operator but I must admin I don't know why... Still strange things happen in Power Apps... 🙄

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Don't miss the call this month on June 16th - 8a PDT

Top Solution Authors
Top Kudoed Authors
Users online (29,222)