Solved! Go to Solution.
                    function displayFields(fieldName:String, fieldXML:XML, field:Field):void                     {                         value = graphic.attributes[fieldName] ? String(graphic.attributes[fieldName]) : "";                                                  if (value){                              ......................................................... code truncated.................................................                                                  if (fieldName.toUpperCase() == queryTitleField.toUpperCase()){                             title = value;                             if (!title)                                 title = widgetTitle;                         }                         if (fieldName.toUpperCase() == queryMultiImgField.toUpperCase())                             multi = value;                         if (fieldName.toUpperCase() != "SHAPE_LENGTH" && fieldName.toUpperCase() != "SHAPE_AREA"                             && fieldName.toUpperCase() != queryMultiImgField.toUpperCase() && fieldName.toUpperCase() != queryTitleField.toUpperCase()){                             if(fieldXML){                                 if(fieldXML.@gridfieldonly[0] && fieldXML.@gridfieldonly[0] == "true" ||                                      fieldXML.@hyperlinkgridfieldonly[0] && fieldXML.@hyperlinkgridfieldonly[0] == "true"){                                  //ignore                                 }else{                                     if(!excludeLinkinResults.contains(fieldName.toUpperCase())){                                         if (fieldXML && fieldXML.@alias[0])                                             content += "<b>" + fieldXML.@alias[0];                                         else                                             content += "<b>" + featureSet.fieldAliases[fieldName];                                         content += ": </b><i>" + value + "</i><br>";                                     }                                 }                             }else{                                 if(fieldName != "oid"){                                     if(!excludeLinkinResults.contains(fieldName.toUpperCase())){                                         content += "<b>" + featureSet.fieldAliases[fieldName];                                         content += ": </b><i>" + value + "</i><br>";                                     }                                 }                             }                          }                     }                                             graphic.checkForMouseListeners = false;                                          ...............................................Code Truncated .............................................                 }                 return result;             }import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow;
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void             {                 super.updateDisplayList(unscaledWidth,unscaledHeight);                                  if (searchResult)                 {                     if (lastResultSymbol !== searchResult.symbol)                     {                         if (resultIcon.numChildren > 0)                         {                             resultIcon.removeChildAt(0);                         }                         lastResultSymbol = searchResult.symbol;                         lastResultSwatch = lastResultSymbol.createSwatch(20, 20);                     }                     lContent.textFlow = TextConverter.importToFlow(searchResult.content, TextConverter.TEXT_FIELD_HTML_FORMAT);                     linkGroup.includeInLayout = linkGroup.visible = false;                     linkGroup.removeAllElements();                     resultIcon.addChild(lastResultSwatch);                     selected = searchResult.selected;                                          for(var l:int = 0; l < searchResult.links.length; l++){                         if(searchResult.links.link){                             var lImg:Image = new Image();                             lImg.height = lImg.width = 20;                             lImg.buttonMode = true;                             lImg.useHandCursor = true;                             lImg.addEventListener(MouseEvent.CLICK, showLink);                             lImg.source = (searchResult.links.icon != "")?searchResult.links.icon:"assets/images/w_link.png";                                  lImg.name = searchResult.links.link;                             //lImg.toolTip = searchResult.links.link;                             lImg.includeInLayout = lImg.visible = true;                             linkGroup.addElement(lImg);                         }                     }                     var rImg:Image = new Image();                     rImg.width = rImg.height = 20;                     rImg.buttonMode = rImg.useHandCursor = true;                     rImg.addEventListener(MouseEvent.CLICK, showRelate);                     rImg.includeInLayout = searchResult.relates != null;                     rImg.source = relateicon;                     rImg.toolTip = relatetooltip;                     rImg.visible = searchResult.relates != null;                     linkGroup.addElement(rImg);                                          if(searchResult.links[0].link)                         linkGroup.includeInLayout = linkGroup.visible = true;                     if(searchResult.relates != null)                         linkGroup.includeInLayout = linkGroup.visible = true;                     relateicon = (searchResult.relateicon != null)?searchResult.relateicon:"widgets/eSearch/assets/images/i_relate.png";                     relatetooltip = (searchResult.relatetooltip != null)?searchResult.relatetooltip:"Show relates";                 }             }     <s:VGroup width="100%" height="100%"                       verticalAlign="middle">                 <s:Label width="100%"                          fontWeight="bold"                          maxDisplayedLines="1"                          text="{searchResult.title}"/>                 <s:RichText id="lContent" fontWeight="normal"                             styleName="RecordText"                             width="100%"/>                 <!--<s:Label width="100%"                          fontWeight="normal"                          maxDisplayedLines="-1"                          text="{searchResult.content}"/>-->             </s:VGroup>
					
				
			
			
				
			
			
				
			
			
				
			
			
			
			
			
		                    function displayFields(fieldName:String, fieldXML:XML, field:Field):void                     {                         value = graphic.attributes[fieldName] ? String(graphic.attributes[fieldName]) : "";                                                  if (value){                              ......................................................... code truncated.................................................                                                  if (fieldName.toUpperCase() == queryTitleField.toUpperCase()){                             title = value;                             if (!title)                                 title = widgetTitle;                         }                         if (fieldName.toUpperCase() == queryMultiImgField.toUpperCase())                             multi = value;                         if (fieldName.toUpperCase() != "SHAPE_LENGTH" && fieldName.toUpperCase() != "SHAPE_AREA"                             && fieldName.toUpperCase() != queryMultiImgField.toUpperCase() && fieldName.toUpperCase() != queryTitleField.toUpperCase()){                             if(fieldXML){                                 if(fieldXML.@gridfieldonly[0] && fieldXML.@gridfieldonly[0] == "true" ||                                      fieldXML.@hyperlinkgridfieldonly[0] && fieldXML.@hyperlinkgridfieldonly[0] == "true"){                                  //ignore                                 }else{                                     if(!excludeLinkinResults.contains(fieldName.toUpperCase())){                                         if (fieldXML && fieldXML.@alias[0])                                             content += "<b>" + fieldXML.@alias[0];                                         else                                             content += "<b>" + featureSet.fieldAliases[fieldName];                                         content += ": </b><i>" + value + "</i><br>";                                     }                                 }                             }else{                                 if(fieldName != "oid"){                                     if(!excludeLinkinResults.contains(fieldName.toUpperCase())){                                         content += "<b>" + featureSet.fieldAliases[fieldName];                                         content += ": </b><i>" + value + "</i><br>";                                     }                                 }                             }                          }                     }                                             graphic.checkForMouseListeners = false;                                          ...............................................Code Truncated .............................................                 }                 return result;             }import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow;
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void             {                 super.updateDisplayList(unscaledWidth,unscaledHeight);                                  if (searchResult)                 {                     if (lastResultSymbol !== searchResult.symbol)                     {                         if (resultIcon.numChildren > 0)                         {                             resultIcon.removeChildAt(0);                         }                         lastResultSymbol = searchResult.symbol;                         lastResultSwatch = lastResultSymbol.createSwatch(20, 20);                     }                     lContent.textFlow = TextConverter.importToFlow(searchResult.content, TextConverter.TEXT_FIELD_HTML_FORMAT);                     linkGroup.includeInLayout = linkGroup.visible = false;                     linkGroup.removeAllElements();                     resultIcon.addChild(lastResultSwatch);                     selected = searchResult.selected;                                          for(var l:int = 0; l < searchResult.links.length; l++){                         if(searchResult.links.link){                             var lImg:Image = new Image();                             lImg.height = lImg.width = 20;                             lImg.buttonMode = true;                             lImg.useHandCursor = true;                             lImg.addEventListener(MouseEvent.CLICK, showLink);                             lImg.source = (searchResult.links.icon != "")?searchResult.links.icon:"assets/images/w_link.png";                                  lImg.name = searchResult.links.link;                             //lImg.toolTip = searchResult.links.link;                             lImg.includeInLayout = lImg.visible = true;                             linkGroup.addElement(lImg);                         }                     }                     var rImg:Image = new Image();                     rImg.width = rImg.height = 20;                     rImg.buttonMode = rImg.useHandCursor = true;                     rImg.addEventListener(MouseEvent.CLICK, showRelate);                     rImg.includeInLayout = searchResult.relates != null;                     rImg.source = relateicon;                     rImg.toolTip = relatetooltip;                     rImg.visible = searchResult.relates != null;                     linkGroup.addElement(rImg);                                          if(searchResult.links[0].link)                         linkGroup.includeInLayout = linkGroup.visible = true;                     if(searchResult.relates != null)                         linkGroup.includeInLayout = linkGroup.visible = true;                     relateicon = (searchResult.relateicon != null)?searchResult.relateicon:"widgets/eSearch/assets/images/i_relate.png";                     relatetooltip = (searchResult.relatetooltip != null)?searchResult.relatetooltip:"Show relates";                 }             }     <s:VGroup width="100%" height="100%"                       verticalAlign="middle">                 <s:Label width="100%"                          fontWeight="bold"                          maxDisplayedLines="1"                          text="{searchResult.title}"/>                 <s:RichText id="lContent" fontWeight="normal"                             styleName="RecordText"                             width="100%"/>                 <!--<s:Label width="100%"                          fontWeight="normal"                          maxDisplayedLines="-1"                          text="{searchResult.content}"/>-->             </s:VGroup>
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		<?xml version="1.0" encoding="utf-8"?>
<!--
     ////////////////////////////////////////////////////////////////////////////////
     //
     // Copyright (c) 2010 ESRI
     //
     // All rights reserved under the copyright laws of the United States.
     // You may freely redistribute and use this software, with or
     // without modification, provided you include the original copyright
     // and use restrictions.  See use restrictions in the file:
     // <install location>/License.txt
     //
     ////////////////////////////////////////////////////////////////////////////////
-->
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.adobe.com/flex/spark"
                xmlns:mx="library://ns.adobe.com/flex/mx"
                autoDrawBackground="false"
                click="itemrenderer_clickHandler(event)"
                minHeight="30"
                dataChange="itemrenderer1_dataChangeHandler(event)"
                mouseOut="itemrenderer_mouseOutHandler(event)"
                mouseOver="itemrenderer_mouseOverHandler(event)">
    <fx:Script>
        <![CDATA[
            import flashx.textLayout.conversion.TextConverter;
            import flashx.textLayout.elements.TextFlow;
            
            import com.esri.ags.symbols.Symbol;
            
            import mx.controls.Image;
            import mx.events.FlexEvent;
            private const SEARCH_RESULT_CLICK:String = "searchResultClick";
            
            private const SEARCH_RESULT_RELATE_CLICK:String = "searchResultRelateClick";
            private const SEARCH_RESULT_MOUSE_OVER:String = "searchResultMouseOver";
            private const SEARCH_RESULT_MOUSE_OUT:String = "searchResultMouseOut";
            [Bindable]
            private var searchResult:SearchResult;
            private var lastResultSymbol:Symbol;
            private var lastResultSwatch:UIComponent;
            
            [Bindable]
            private var linkicon:String;
            
            [Bindable]
            private var relateicon:String;
            
            [Bindable]
            private var relatetooltip:String;
            
            /* override public function set data(value:Object):void
            {
                super.data = value;
                searchResult = data as SearchResult;
            }
            
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
            {
                super.updateDisplayList(unscaledWidth,unscaledHeight);
                
                
            } */
            private function itemrenderer_clickHandler(event:MouseEvent):void
            {
                dispatchEvent(new Event(SEARCH_RESULT_CLICK, true)); // bubbles
            }
            private function itemrenderer_mouseOverHandler(event:MouseEvent):void
            {
                dispatchEvent(new Event(SEARCH_RESULT_MOUSE_OVER, true)); // bubbles
            }
            private function itemrenderer_mouseOutHandler(event:MouseEvent):void
            {
                dispatchEvent(new Event(SEARCH_RESULT_MOUSE_OUT, true)); // bubbles
            }
            private function showLink(event:MouseEvent):void
            {
                event.stopImmediatePropagation(); // don't dispatch ID_RESULT_CLICK since we don't want to zoom to feature
                navigateToURL(new URLRequest(event.currentTarget.name));
            }
            
            private function showRelate(event:MouseEvent):void
            {
                event.stopImmediatePropagation(); // don't dispatch SEARCH_RESULT_CLICK since we don't want to zoom to feature
                dispatchEvent(new Event(SEARCH_RESULT_RELATE_CLICK, true)); // bubbles
            }
            
            protected function itemrenderer1_dataChangeHandler(event:FlexEvent):void
            {
                searchResult = data as SearchResult;
                
                if (searchResult)
                {
                    if (lastResultSymbol !== searchResult.symbol)
                    {
                        if (resultIcon.numChildren > 0)
                        {
                            resultIcon.removeChildAt(0);
                        }
                        lastResultSymbol = searchResult.symbol;
                        lastResultSwatch = lastResultSymbol.createSwatch(20, 20);
                    }
                    lContent.textFlow = TextConverter.importToFlow(searchResult.content, TextConverter.TEXT_FIELD_HTML_FORMAT);
                    linkGroup.includeInLayout = linkGroup.visible = false;
                    linkGroup.removeAllElements();
                    resultIcon.addChild(lastResultSwatch);
                    selected = searchResult.selected;
                    
                    for(var l:int = 0; l < searchResult.links.length; l++){
                        if(searchResult.links.link){
                            var lImg:Image = new Image();
                            lImg.height = lImg.width = 20;
                            lImg.buttonMode = true;
                            lImg.useHandCursor = true;
                            lImg.addEventListener(MouseEvent.CLICK, showLink);
                            lImg.source = (searchResult.links.icon != "")?searchResult.links.icon:"assets/images/w_link.png";     
                            lImg.name = searchResult.links.link;
                            //lImg.toolTip = searchResult.links.link;
                            lImg.includeInLayout = lImg.visible = true;
                            linkGroup.addElement(lImg);
                        }
                    }
                    var rImg:Image = new Image();
                    rImg.width = rImg.height = 20;
                    rImg.buttonMode = rImg.useHandCursor = true;
                    rImg.addEventListener(MouseEvent.CLICK, showRelate);
                    rImg.includeInLayout = searchResult.relates != null;
                    rImg.source = relateicon;
                    rImg.toolTip = relatetooltip;
                    rImg.visible = searchResult.relates != null;
                    linkGroup.addElement(rImg);
                    
                    if(searchResult.links[0].link)
                        linkGroup.includeInLayout = linkGroup.visible = true;
                    if(searchResult.relates != null)
                        linkGroup.includeInLayout = linkGroup.visible = true;
                    relateicon = (searchResult.relateicon != null)?searchResult.relateicon:"widgets/eSearch/assets/images/i_relate.png";
                    relatetooltip = (searchResult.relatetooltip != null)?searchResult.relatetooltip:"Show relates";
                }
            }
            
        ]]>
    </fx:Script>
    <s:states>
        <s:State name="normal"/>
        <s:State name="hovered"/>
        <s:State name="selected"/>
    </s:states>
    <!-- border/background rectangle -->
    <s:Rect left="0" right="0" top="0" bottom="0"
            radiusX="4"
            radiusY="4">
        <s:stroke>
            <mx:SolidColorStroke alpha="{getStyle('borderAlpha')}"
                                 color="{getStyle('borderColor')}"
                                 weight="1"/>
        </s:stroke>
        <s:fill>
            <mx:SolidColor alpha="0.3"
                           alpha.hovered="0.8"
                           color.hovered="{getStyle('rollOverColor')}"
                           alpha.selected="1"
                           color.selected="{getStyle('rollOverColor')}"
                           color.normal="{getStyle('contentBackgroundColor')}"/>
        </s:fill>
    </s:Rect>
    <s:VGroup minHeight="30"
              paddingLeft="5"
              paddingRight="5"
              paddingBottom="2"
              paddingTop="4"
              width="97%"
              verticalAlign="middle">
        <s:HGroup width="100%" height="100%"
                  paddingBottom="3"
                  paddingLeft="3"
                  paddingRight="3"
                  paddingTop="3"
                  verticalAlign="middle">
            <mx:UIComponent id="resultIcon"
                            width="100%" height="100%"
                            maxHeight="20"
                            maxWidth="20">
                <mx:filters>
                    <mx:GlowFilter alpha="0.5"
                                   blurX="10"
                                   blurY="10"
                                   color="#000000"/>
                </mx:filters>
            </mx:UIComponent>
            <s:VGroup width="100%" height="100%"
                      verticalAlign="middle">
                <s:Label width="100%"
                         fontWeight="bold"
                         maxDisplayedLines="1"
                         text="{searchResult.title}"/>
                <s:RichText id="lContent" fontWeight="normal"
                            styleName="RecordText"
                            width="100%"/>
                <!--<s:Label width="100%"
                         fontWeight="normal"
                         maxDisplayedLines="-1"
                         text="{searchResult.content}"/>-->
            </s:VGroup>
        </s:HGroup>
        <s:HGroup gap="8" id="linkGroup" height="18"
                  verticalAlign="middle" horizontalAlign="center"
                  width="100%" includeInLayout="false" visible="false">
            
        </s:HGroup>
    </s:VGroup>
</s:ItemRenderer>