function resultFunction(results:Array, clickGraphic:Graphic):void { var myInfoRenderer:InfoRenderer = new InfoRenderer; var mapPoint:MapPoint = MapPoint(clickGraphic.geometry); var point:Point = map.toScreen(mapPoint); if (results && results.length > 0) { var oldLayer:Number = -1; var resultsArray:Array = []; var result:IdentifyResult; var resultGraphic:Graphic; var tab:TabNavigator = new TabNavigator(); var newVBox:VBox = new VBox; var newText:Text = new Text; var newDG:DataGrid = new DataGrid; var graphic:Graphic; clickGraphicsLayer.add(clickGraphic); result = results[0]; resultsArray.push(result.feature.attributes); newText = new Text; newText.text = result.layerName; graphic = result.feature; graphic.alpha = 0.3; graphicsLayer.add(graphic); tab.width = 400; tab.height = 230; for (var i:int = 1; i < results.length; i++) { result = results; graphic = new Graphic; graphic = result.feature; graphic.alpha = 0.3; graphicsLayer.add(graphic); if (result.layerId == oldLayer) { resultsArray.push(result.feature.attributes); } else { newDG = new DataGrid; newVBox = new VBox; newDG.dataProvider = resultsArray; //this is the new code section if (!(result.feature.attributes.Source == undefined)) { for each (var dgCol:DataGridColumn in newDG.columns) { if (dgCol.dataField == "Source") { dgCol.itemRenderer = HyperLinkField; //coercion error here } } } //end of new code section newDG.addEventListener(ListEvent.ITEM_CLICK, newDG_ItemRollOver, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OUT, newDG_ItemRollOut, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OVER, newDG_ItemRollOver, false, 0, true); newVBox.addChild(newText); newVBox.addChild(newDG); tab.addChild(newVBox); myInfoRenderer.addChild(tab); newText = new Text; newText.text = result.layerName; resultsArray = []; resultsArray.push(result.feature.attributes); } oldLayer = result.layerId } newVBox = new VBox; newDG = new DataGrid; newDG.addEventListener(ListEvent.ITEM_CLICK, newDG_ItemRollOver, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OUT, newDG_ItemRollOut, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OVER, newDG_ItemRollOver, false, 0, true); newVBox.addChild(newText); newDG.dataProvider = resultsArray; //this is the new code section if (!(result.feature.attributes.Source == undefined)) { for each (var dgCol:DataGridColumn in newDG.columns) { if (dgCol.dataField == "Source") { dgCol.itemRenderer = HyperLinkField;//coercion error here } } } //end of new code section newVBox.addChild(newDG); tab.addChild(newVBox); myInfoRenderer.addChild(tab); cursorManager.removeBusyCursor(); map.infoWindow.content = myInfoRenderer; map.infoWindow.show(map.toMap(point)); map.infoWindow.addEventListener(Event.CLOSE,infoWindow_Close, false, 0, true); } }
Solved! Go to Solution.
dgCol.itemRenderer = new ClassFactory(HyperLinkField); //coercion error here
dgCol.itemRenderer = new ClassFactory(HyperLinkField); //coercion error here