//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");
}