Select to view content in your preferred language

Display fields with domain from another table in pop-up window

244
2
Jump to solution
3 weeks ago
AmyRoust
Frequent Contributor

I used the code block from this Esri article to pull records from a related table:

https://support.esri.com/en-us/knowledge-base/display-fields-from-a-related-table-in-the-pop-up-wind...

My problem is that one of the fields in the related table has a domain assigned to it, and the Arcade code block is returning the code from the domain table instead of the description. How can I tell it to pull the description? Looking at line 10, related_data_row.field1_table of this:

var related_table = FeatureSetByName($datastore, "table");
var filter_query = "field_table= '" + $feature["field_class"] + "'";
var related_data_filtered = Filter(related_table, filter_query);
var related_data_filtered_count = Count(related_data_filtered);

var output = "";
if (related_data_filtered_count > 0) {
	output = "Total of " + related_data_filtered_count + " records : ";
	for (var related_data_row in related_data_filtered) {
		output += '<br>' + related_data_row.field1_table+ " - " + related_data_row.field2_table;
	}
} else {
	output = "No Related Records...";
}

return {
	type : 'text',
	text : output
}

 

0 Kudos
1 Solution

Accepted Solutions
KenBuja
MVP Esteemed Contributor

Use the DomainName function to get the description

output += '<br>' + DomainName(related_data_row, "field1_table") + " - " + related_data_row.field2_table;

Also, you can simplify the code a little bit

var output = "No Related Records...";
if (related_data_filtered_count > 0) {
  output = "Total of " + related_data_filtered_count + " records : ";
  for (var related_data_row in related_data_filtered) {
    output += '<br>' + DomainName(related_data_row, "field1_table") + " - " + related_data_row.field2_table;
  }
}

View solution in original post

2 Replies
KenBuja
MVP Esteemed Contributor

Use the DomainName function to get the description

output += '<br>' + DomainName(related_data_row, "field1_table") + " - " + related_data_row.field2_table;

Also, you can simplify the code a little bit

var output = "No Related Records...";
if (related_data_filtered_count > 0) {
  output = "Total of " + related_data_filtered_count + " records : ";
  for (var related_data_row in related_data_filtered) {
    output += '<br>' + DomainName(related_data_row, "field1_table") + " - " + related_data_row.field2_table;
  }
}
AmyRoust
Frequent Contributor

Thanks, Ken! Worked perfectly.

0 Kudos