//the Grid. <mx:DataGrid id="gridEquipos" x="2" y="5" width="100%" height="100%" visible="true" editable="false" dragEnabled="true" dropEnabled="true" dataProvider="{listaEquipos}" itemClick="gridEquipos_itemClickHandler(event)"> <mx:columns> <mx:DataGridColumn headerText="Código Equipo / Medidor" dataField="id_eq" id="IDEquipo"/> <mx:DataGridColumn headerText="Cant. Luminarias" dataField="cantLum" id="CantLuminarias"/> <mx:DataGridColumn headerText="Cant. Tramos" dataField="cantTram" id="CantTramos"/> <mx:DataGridColumn headerText="Tipo Conexión" dataField="tipoConn" id="TipoConexion"/> <mx:DataGridColumn headerText="NIS Cliente" dataField="nisClie" id="NisCliente"/> <mx:DataGridColumn headerText="??lt. Fact." dataField="observ" id="ultimaFacturacion"/> </mx:columns> </mx:DataGrid> //Filling grid function protected function gridEquipos_itemClickHandler(event:ListEvent):void { gridEquipoxTramo(); var seleccionado:String = new String; seleccionado = gridEquipos.selectedItem.toString(); acPolyline.removeAll(); var queryTaskEquipoSelected:QueryTask = new QueryTask(); queryTaskEquipoSelected.url = "http://gisred.chilquinta.cl:5555/arcgis/rest/services/AP_Municipal/AP_LA_CRUZ/MapServer/5"; queryTaskEquipoSelected.useAMF = false; var queryEquipoSelected:Query = new Query(); queryEquipoSelected.outFields = ["*"]; queryEquipoSelected.returnGeometry = true; queryEquipoSelected.where = "ARCGIS.DBO.MEDIDORES_AP_006.id_medidor=" + seleccionado; queryEquipoSelected.spatialRelationship ="esriSpatialRelIntersects"; queryEquipoSelected.outSpatialReference = myMap.spatialReference; queryTaskEquipoSelected.execute(queryEquipoSelected, new AsyncResponder(onResult, onFault)); listaEquipos.removeAll(); function onResult(featureSet:FeatureSet, token:Object = null):void { try{ for each (var myGraphic:Graphic in featureSet.features) { myGraphic.symbol=slsFind; // myGraphic.symbol= infoButton; // infoB=seleccionado; graphicsLayer.add(myGraphic); acPolyline.addItem(graphicsLayer); myMap.zoomTo(featureSet.features[0].geometry); myMap.level = 16; } }catch(err:Error){ Alert.show("no se pudo cargar el tramo"); } } function onFault(info:Object, token:Object = null):void { Alert.show("id de equipo no encontrada"); } }
Solved! Go to Solution.
var at:AttributeTable = new AttributeTable(); at.dataGrid.selectedItem
function onResult(featureSet:FeatureSet, token:Object = null):void
{
try{
listaEquipos = new ArrayCollection(featureSet.attributes);
for each (var myGraphic:Graphic in featureSet.features)
{
myGraphic.symbol=slsFind;
//myGraphic.symbol= infoButton;
//infoB=seleccionado;
graphicsLayer.add(myGraphic);
acPolyline.addItem(graphicsLayer);
myMap.zoomTo(featureSet.features[0].geometry);
myMap.level = 16;
}
}catch(err:Error){
Alert.show("no se pudo cargar el tramo");
}
}
protected function equiposAP_clickHandler(event:MouseEvent):void { //Ver panel medidores TWMedidores.visible="true"; var queryTaskEquipo:QueryTask = new QueryTask(); queryTaskEquipo.url = "http://gisred.chilquinta.cl:5555/arcgis/rest/services/AP_Municipal/AP_LA_CRUZ/MapServer/5"; queryTaskEquipo.useAMF = false; var queryEquipo:Query = new Query(); queryEquipo.outFields = ["*"]; queryEquipo.returnGeometry = false; queryEquipo.where = "1=1"; queryTaskEquipo.execute(queryEquipo, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { listaEquipos = new ArrayCollection(featureSet.attributes); } function onFault(info:Object, token:Object = null):void { Alert.show("no se puede cargar equipo "+ info.toString()); } gridEquipos.dataProvider(listaEquipos); }
<mx:DataGrid id="gridEquipos" x="2" y="5" width="100%" height="100%" visible="true" editable="false" dragEnabled="true" dropEnabled="true" itemClick="gridEquipos_itemClickHandler(event)" dataProvider="{listaEquipos}"> <mx:columns> <mx:DataGridColumn headerText="Código Equipo / Medidor" dataField="ARCGIS.DBO.MEDIDORES_AP_006.id_medidor" id="id_equipo"/> <mx:DataGridColumn headerText="Tipo Conex." dataField="ARCGIS.DBO.MEDIDORES_AP_006.tipo_conexion" id="tipo_conex"/> <mx:DataGridColumn headerText="Cant. Tramos" dataField="ARCGIS.DBO.MEDIDORES_AP_006.tramos_ap" id="cant_tramos"/> <mx:DataGridColumn headerText="Nro. NIS" dataField="ARCGIS.DBO.MEDIDORES_AP_006.nis" id="nro_nis"/> <mx:DataGridColumn headerText="Cant. Luminarias" dataField="ARCGIS.DBO.MEDIDORES_AP_006.luminarias" id="cant_luminarias"/> </mx:columns> </mx:DataGrid>
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import com.esri.ags.FeatureSet; import com.esri.ags.tasks.QueryTask; import com.esri.ags.tasks.supportClasses.Query; import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.events.ListEvent; import mx.rpc.AsyncResponder; [Bindable] private var listaEquipos:ArrayCollection; protected function equiposAP_clickHandler(event:MouseEvent):void { var queryTaskEquipo:QueryTask = new QueryTask(); queryTaskEquipo.url = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_LandRecords_Louisville/MapServer/2"; queryTaskEquipo.useAMF = false; var queryEquipo:Query = new Query(); queryEquipo.outFields = ["*"]; queryEquipo.returnGeometry = false; queryEquipo.where = "1=1"; queryTaskEquipo.execute(queryEquipo, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { listaEquipos = new ArrayCollection(featureSet.attributes); } function onFault(info:Object, token:Object = null):void { Alert.show("no se puede cargar equipo "+ info.toString()); } //No need for this //gridEquipos.dataProvider(listaEquipos); } protected function gridEquipos_itemClickHandler(event:ListEvent):void { // TODO Auto-generated method stub } ]]> </fx:Script> <s:controlBarLayout> <s:VerticalLayout gap="10" paddingBottom="7" paddingLeft="10" paddingRight="10" paddingTop="7"/> </s:controlBarLayout> <s:controlBarContent> <s:RichText width="100%"> This sample demonstrates how to populate a datagrid with the results of a querytask </s:RichText> <s:Button id="popButton" click="equiposAP_clickHandler(event)" label="execute query..."/> </s:controlBarContent> <mx:DataGrid id="gridEquipos" width="100%" height="100%" visible="true" editable="false" dragEnabled="true" dropEnabled="true" itemClick="gridEquipos_itemClickHandler(event)" dataProvider="{listaEquipos}"> <mx:columns> <mx:DataGridColumn headerText="Código Equipo / Medidor" dataField="OBJECTID" id="id_equipo"/> <mx:DataGridColumn headerText="Tipo Conex." dataField="ZONING_CODE" id="tipo_conex"/> <mx:DataGridColumn headerText="Cant. Tramos" dataField="ZONING_NAME" id="cant_tramos"/> <mx:DataGridColumn headerText="Nro. NIS" dataField="ZONING_TYPE" id="nro_nis"/> </mx:columns> </mx:DataGrid> </s:Application>
<mx:DataGrid id="gridEquipos" width="30%" height="30%" visible="true" editable="false" dragEnabled="true" dropEnabled="true" itemClick="gridEquipos_itemClickHandler(event)" dataProvider="{listaEquipos}"> <mx:columns> <mx:DataGridColumn headerText="Código Equipo / Medidor" dataField="ARCGIS.DBO.MEDIDORES_AP_006.id_medidor"/> </mx:columns> </mx:DataGrid>
function onResult(featureSet:FeatureSet, token:Object = null):void { listaEquipos = new ArrayCollection(featureSet.attributes); Alert.show("did it"); }