Select to view content in your preferred language

List Widget Not Preserving One to Many Relationship

1034
2
12-17-2020 10:52 AM
WilliamStuart
New Contributor

Hey there,

I have a problem with a widget in experience builder that I am looking for feedback on. I have provided here a full explanation of the project with workflow steps. I have bolded and underlined the specific problem.

Using experience builder, I have created a web application named, "The Farm Connect Web Application". The purpose of this web app is to connect agricultural producers across a 16-county area to various county-specific programs/grant opportunities. Functionally, a user will be able to click on their county and a selection of the different county-specific programs offered in that county will populate in a list widget.

A given program might be offered in one of the 16 counties, a selection of the 16 counties, or all of the 16 counties. Therefore I had to create a one to many relationship in the data, wherein 16 unique county names were associated with records of county-specific programs, where for example an individual county may have many different program records associated with it.

Here is my workflow:

  • STEP ONE: First, I created a web map called the Farm Connect web map (seen in the image below) with the geometry of the 16 counties.

WilliamStuart_0-1608225876672.png

  • STEP TWO: I then created an excel table, which I uploaded to arcpro as a table, containing ~130-140 records of county-specific programs. (For example, if a program is offered in all 16 counties, there area 16 associated records for that program in the data.)
  • STEP THREE: Next, using the "Make Query Table" geoprocessing tool,  I created the one to many relationship. In the image below, you can see proof of this. Here, I can click on 1 county, and 8 unique program records show up in a pop-up. So, we see that there are 8 programs in that county a user can explore. This worked great. (Aside from some serious problems with the "Make Query Table" tool - ESRI, you guys should really get that tool fixed. It would crash pro every time I ran it. FYI, to fix it, I saved just before running the tool, restarted my computer, ran the tool, and it worked.)

WilliamStuart_1-1608227294450.png

 

  • STEP FOUR: Next, I created a web app using web app builder. This web app was originally going to be the end product. It functions flawlessly. A user can click on one of 16 counties, and a list of programs offered in that county populates the screen as a scrollable list on the right side of the screen, seen below in an image.

WilliamStuart_2-1608227674507.png

  • However, after learning about the new experience builder, I decided to remake the web app I originally created in web app builder.

HERE IS THE PROBLEM:

  • After adding the farm connect web map to the experience, I tried adding a widget that would show the selected programs offered in that county, which would be triggered by a user clicking on a county in the map. (Literally the same function as the first version of the web app in STEP 4.) I tried using the feature info widget. However, instead of a complete list of the programs offered in that county, the feature info widget just shows just the first occurrence of a program with the selected county name, and not a list of all the programs specific to that county.   In the picture below, you can see that the pop-up has found eight unique programs for that county, so the one-to-many relationship is still there thank lord.

WilliamStuart_3-1608229278550.png

  • However, when I click the "next" arrow in the feature info widget (moving from record 101 to record 102), you can see the problem. The feature info widget should find the next program in that county, matching the next consecutive pop up record, but instead it selects the next consecutive record in the complete data set (which happens to be the same program but for a different county). See the picture below for this proof. 

WilliamStuart_4-1608229824058.png

Desired outcome: I want to be able to click on a county and all of its associated programs populate in a scrollable list. Maybe instead of using the feature info widget, I use the list widget? If so, how should I set up the triggers/actions in experience builder between my web map and the list widget? I can share any and all web maps/apps needed.😁

0 Kudos
2 Replies
EmmaHatcher
Frequent Contributor

You can do this with two Lists an a trigger action set on the first List. The first List would be your counties, and your second list would be the associated programs. You would set up a trigger on the counties List to filter the framework, including the associated programs List, based on a key field between the two tables (this does make the Query Table moot for the Experience Builder). I have a similar set up to handle a few one-to-many cases between feature services with one of my Experience Builder pages. See the result of this pictured below:

Experience Example 1.png

First list selection applied, with the result in the second list:

FilterResult.PNG

 

Hope that's helpful!

WilliamStuart
New Contributor

Awesome ! I will explore this solution ! Thanks for your time.

0 Kudos