David, The changes are not hard and are limited to two files the main eSearchWidget.mxml and the SearchWidgetFixedDG.mxmlSo here are the code changes:eSearchWidget.mxml > function createSearchResults > sub function inside of createSearchResults called displayFields:Just replace this similar if block (main Changes in Red). if(layerDetails && field){
var typeID:String = null;
if (layerDetails.typeIdField && fieldName.toUpperCase() == layerDetails.typeIdField.toUpperCase()){
typeID = layerDetails.typeIdField ? graphic.attributes[fieldName] : null;
// replace value with feature type name
var featureType:FeatureType = getFeatureType(typeID);
if (featureType && featureType.name){
value = featureType.name;
}
}else{
// replace value with coded value name if one exists
var codedValue:CodedValue = getCodedValue(fieldName, value, typeID);
if (codedValue){
value = codedValue.name;
}
}
}
SearchWidgetFixedDG.mxml > function dProviderJust replace this similar portion of the for block (main Changes in Red). for each (fld in _layerDetails.fields){
var typeID:String = null;
if (_layerDetails.typeIdField && fld.name.toUpperCase() == _layerDetails.typeIdField.toUpperCase()){
typeID = _layerDetails.typeIdField ? attributes[fld.name] : null;
// replace value with feature type name
var featureType:FeatureType = getFeatureType(typeID,_layerDetails);
if (featureType && featureType.name){
attributes[fld.name] = featureType.name;
}
}else{
SearchWidgetFixedDG.mxml > function rdProviderJust replace this similar portion of the for block (main Changes in Red). for each (fld in _rlayerDetails.fields){
var typeID:String = null;
if (fld.name == _rlayerDetails.typeIdField){
typeID = _rlayerDetails.typeIdField ? String(attributes[_rlayerDetails.typeIdField]) : null;
// replace value with feature type name
var featureType:FeatureType = getFeatureType(typeID,_rlayerDetails);
if (featureType && featureType.name){
attributes[fld.name] = featureType.name;
}
}else{