Browse related records in a popup
This sample demonstrates how to add RelationshipContent to a PopupTemplate to allow browsing of related records. Creating relationships between layers and tables provides a way to associate features and records with one another without being in the same layer or table and helps enforce referential integrity between related objects.
The data used in this sample helps visualize the relationships between CALFIRE administrative units, incorporated California cities, CALFIRE wildfire protection facilities along with their statistics, and burn areas for fires that occurred from 2017-2021. There are four different relationships between the layers and table that were created in ArcGIS Pro before publishing the data:
- Wildfire burn areas in California and which CALFIRE Administration Units responded to that burn area.
- CALFIRE Wildfire Protection Facilities and the CALFIRE Administration Unit that facility reports to.
- Incorporated cites and the CALFIRE Wildfire Protection facilities that reside in that city.
- CALFIRE facility statistics for its corresponding CALFIRE Administration Unit.
See the ArcGIS Pro relationship documentation for more information on relationships and how to create them between layers and/or tables.
Below is a table that shows the relationship definitions for the sample data:
Origin layer name | Destination layer/table name | Origin primary key | Origin foreign key | Relationship type | Cardinality |
---|---|---|---|---|---|
CALFIRE Administration Units | Wildfire Burn Areas | UNITCODE | UNIT_ID | Simple | One to many |
CALFIRE Administration Units | Wildfire Protection Facilities | UNITCODE | UNIT | Simple | One to many |
Incorporated Cities | Wildfire Protection Facilities | CITY | CITY | Simple | One to many |
CALFIRE Administration Units | Facility Statistics | UNITCODE | UNIT | Simple | One to one |
The details of the relationships can also be found on the layer level on the service. For example, the CAL_FIRE_Admin_Units relationship information can be found in the layer properties under the Relationships section of the service.
The code snippet below shows how to configure RelationshipContent and add it to the PopupTemplate of the CALFIRE Administration Units FeatureLayer.
In this case, the administrative units layer has three relationships, which can be added as an array to the popup template's content
.
For the related records to display within the popup, the related layers and/or tables must be added to the map. Otherwise, an error will be shown in the popup content.