/// <summary> /// Returns the field's current value(s) /// </summary> /// <param name="parentControl">The parent control.</param> /// <param name="value">Information about the value</param> /// <param name="configurationValues">The configuration values.</param> /// <param name="condensed">Flag indicating if the value should be condensed (i.e. for use in a grid column)</param> /// <returns></returns> public override string FormatValue(Control parentControl, string value, Dictionary <string, ConfigurationValue> configurationValues, bool condensed) { string formattedValue = string.Empty; if (!string.IsNullOrWhiteSpace(value)) { var guidPairs = Rock.Attribute.MetricCategoriesFieldAttribute.GetValueAsGuidPairs(value); var metricGuids = guidPairs.Select(a => a.MetricGuid); var metrics = new MetricService(new RockContext()).Queryable().Where(a => metricGuids.Contains(a.Guid)); if (metrics.Any()) { formattedValue = string.Join(", ", (from metric in metrics select metric.Title).ToArray()); } } return(base.FormatValue(parentControl, formattedValue, null, condensed)); }