This message is not to ask for help, but to provide a tutorial on how to setup cascading combo boxes in an edit form with a SharePoint list as the data source. I created an app for this, however, using a customized Power App form should also work. This is not a new thing, but it took me months to figure it out. The following provides instructions on setting up cascading combo boxes with a State and City column. I included notes on some steps because I've noticed the formulas are slightly different when I am on my own tenant versus the tenant for my organization.
Drop down boxes are easier to configure for this, but I can't search with a drop down box.
Cascading combo box instructions (naming convention for lists, columns, data cards, etc. can be whatever you want):
- Create a list to act as the lookup list and then create another list that will use the cascading combo boxes. Example:
- List 1 - lookup list with State and City columns (both single line of text fields)
- List 2 - Second list with Employee info including their state and city as single line of text fields
- Create a Power App and attach list 1 and list 2
- Create the app with a gallery, edit form, and set the data source to List 2 (create display form if desired)
- On the List 2 Edit Form, click on the State_DataCard, unlock it, click on DataCardValue, delete it, then add a combo box and select the List1 data source. Repeat these steps for the City_DataCard.
- Rename combo boxes to CbxState and CbxCity
- CbxState:
- Update the Y ErrorMesage with the “CbxState.Y + CbxState.Height” or use a custom value
- Items: Sort(Distinct(List1, State), Value)
- Note: Use the system name for the State column if there is an error.
- DefaultSelectedItems: {Value:Parent.Default}
- Note: Use {Value:Parent.Default} if field is blank when viewing an existing item on the edit form)
- OnChange: Reset(CbxCity)
- Note: be sure this is resetting the city and not the state combo box
- State_DataCard - Update: CbxState.Selected.Value
- DisplayFields: [“State”]
- Note 1: do not copy and paste this… type it in
- Note 2: This property may revert back to [“Value”] on its own
- SearchFields: [“State”]
- Note 1: do not copy and paste this… type it in
- Note 2: This property may revert back to [“Value”] on its own
- CbxCity:
- Update the Y ErrorMessage with the “CbxCity.Y + CbxCity.Height” or use a custom value
- Items: With({wState:CbxState.Selected.Value},Filter(List1,State = wState))
- DisplayFields: [“City”]
- SearchFields: [“City”]
- DefaultSelectedItems: If(ThisItem.State = CbxState.Selected.Value, LookUp(List1, City = ThisItem.City))
- City_DataCard – Update: CbxCity.Selected.City
- Test the app after populating List 1 with a few states and cities
That's it. I am not an expert on this setup, but I will try to help anyone that run into issues.

Report
All responses (
Answers (