<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Edit related records? in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110644#M2561</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you so much for your help Benjamin. I am trying to figure this out and will come back with a few questions. Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Dec 2013 13:45:12 GMT</pubDate>
    <dc:creator>ionarawilson1</dc:creator>
    <dc:date>2013-12-09T13:45:12Z</dc:date>
    <item>
      <title>Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110642#M2559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I need to be able to edit records in a standalone table, so I want to use related records. I am trying to combine the related records sample with the edit attributes sample. However from what I understand I need to use a link to a featureServer to be able to edit records and the example with the related records uses a link to a mapServer. Is it possible to combine both samples to be able to edit records in the related table or is there a better way to edit related records? Thank you for any help!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here are the links to the samples&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://developers.arcgis.com/en/flex/sample-code/attributetable.htm" rel="nofollow" target="_blank"&gt;https://developers.arcgis.com/en/flex/sample-code/attributetable.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://developers.arcgis.com/en/flex/sample-code/related-records.htm" rel="nofollow" target="_blank"&gt;https://developers.arcgis.com/en/flex/sample-code/related-records.htm&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2013 19:18:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110642#M2559</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2013-12-06T19:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110643#M2560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Ionara,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you really want to use the Attribute table to edit related table in a non spatial table here is some things you could do:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You could cast your standalon table as a Feature Layer: &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var url:String = "theURLpathToYourStandaloneTable" //or you can use your feature layer layerDetails informations to get the related table Id.
var yourTable:FeatureLayer = new FeatureLayer(url, null, null) as FeatureLayer ; //Here you're casting the table as a FeatureLayer so it's editable
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then you can use the attribute table sample on the "yourTable" feature layer. In the query you should add a "where clauses" to link the displayed feature layer with the attribute table as : &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;query.where = "yourTable_displayFeatureLayerID = yourDisplayedFeatureLayerID"; &lt;/PRE&gt;&lt;SPAN&gt; where yourTable_displayFeatureLayerID is the foreign key in your standalone table.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you don't have yet this foreign key, don't forget to make a relationship when you are publishing your service.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this help,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ben&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110643#M2560</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2021-12-11T06:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110644#M2561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you so much for your help Benjamin. I am trying to figure this out and will come back with a few questions. Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 13:45:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110644#M2561</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2013-12-09T13:45:12Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110645#M2562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1 - If you want to edit it, you should use FeatureServer link&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 - If you want you can use AttributeTable. Just put your "yourTable" between &amp;lt;fx:Declarations&amp;gt; : &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;fx:Declarations&amp;gt;
 &amp;lt;esri:FeatureLayer id="yourTable" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/fx:Declarations&amp;gt;&amp;nbsp; &lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3 - Here : &lt;/SPAN&gt;&lt;A href="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1" rel="nofollow noopener noreferrer" target="_blank"&gt;http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1&lt;/A&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;look at the fields, Objectid is the primary key of the related table, sf_311_serviceoid is the foreign key equal to the incidents table objectid&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4 - I add some code which select the row in attribute table if there are some rows related to the incidents entity you clicked on the map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Take a look at the code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp; pageTitle="Attribute Table"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; &amp;lt;s:layout&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout gap="0"/&amp;gt;
&amp;nbsp; &amp;lt;/s:layout&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;fx:Script&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.AttributeTableEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.FeatureLayerEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResult;
&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResults;
&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.Field;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.Query;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp; import mx.events.FlexEvent;
&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp; import mx.rpc.Fault;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; /* [Bindable] 
&amp;nbsp;&amp;nbsp; private var urltable:String = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/1" //or you can use your feature layer layerDetails informations to get the related table Id.
&amp;nbsp;&amp;nbsp; private var yourTable:FeatureLayer; //Here you're casting the table as a FeatureLayer so it's editable
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function application1_initializeHandler(event:FlexEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable = new FeatureLayer(urltable, null, null) as FeatureLayer;
&amp;nbsp;&amp;nbsp; }*/
&amp;nbsp;&amp;nbsp; protected function myMap_clickHandler(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (event.target is Graphic || event.target.parent is Graphic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic:Graphic = event.target is Graphic ? Graphic(event.target) : Graphic(event.target.parent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.objectIds = [graphic.attributes[myFeatureLayer.layerDetails.objectIdField]];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;myFeatureLayer.addEventListener(FeatureLayerEvent.SELECTION_COMPLETE,myFeatureLayer_SelectionCompleteHandler);&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function myFeatureLayer_SelectionCompleteHandler(event:FeatureLayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "sf_311_serviceoid&amp;nbsp; = " + myFeatureLayer.selectedFeatures[0].attributes.objectid;
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.selectFeatures(query, FeatureLayer.SELECTION_NEW);&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function fdg_updateFeatureHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp; //TODO
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function fdg_deleteFeaturesHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //TODO
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function featureLayer_editsCompleteHandler(featureEditResults:FeatureEditResults, token:Object = null):void&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //TODO
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function featureLayer_faultHandler(fault:Fault, token:Object = null):void
&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(fault.faultString, "Fault");
&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.refresh();
&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 

&amp;nbsp; ]]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 

&amp;lt;/fx:Script&amp;gt;

&lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;&amp;lt;fx:Declarations&amp;gt;
 
&lt;SPAN&gt; &amp;lt;esri:FeatureLayer id="yourTable" outFields="*" url="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1" rel="nofollow noopener noreferrer" target="_blank"&gt;http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1&lt;/A&gt;&lt;SPAN&gt;"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&amp;lt;/fx:Declarations&amp;gt; &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;s:controlBarContent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:RichText width="100%"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This sample demonstrates how to use the AttributeTable component which allows viewing and editing feature atttributes.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The component uses a data grid where the columns correspond to the fields of a feature layer.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The application also allows user to click on a feature and select it. The AttributeTable then displays the selection
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by highlighting the corresponding row in the grid.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:RichText&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:controlBarContent&amp;gt;
&amp;nbsp; &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp; width="100%" height="60%"
&amp;nbsp;&amp;nbsp; click="myMap_clickHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent id="sheepfire" xmin="-13638587" ymin="4543797" xmax="-13620242" ymax="4549912"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:SpatialReference wkid="102100"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:Extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:FeatureLayer id="myFeatureLayer" mode="onDemand" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/esri:Map&amp;gt;
&amp;nbsp; &amp;lt;s:Line width="100%"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:SolidColorStroke color="0x000000" weight="1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:Line&amp;gt;
&amp;nbsp; &amp;lt;s:BorderContainer width="100%" height="40%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backgroundColor="0xEEEEEE"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; borderVisible="false"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:HorizontalLayout paddingLeft="5" paddingRight="5" paddingTop="2"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:AttributeTable 
&amp;nbsp;&amp;nbsp;&amp;nbsp; id="myAttributeTable"
&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%" height="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteFeatures="fdg_deleteFeaturesHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer="{yourTable}"
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateFeature="fdg_updateFeatureHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:AttributeTable&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:BorderContainer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;lt;/s:Application&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110645#M2562</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2021-12-11T06:39:15Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110646#M2563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is great Benjamin. Thank you so much. Do you know why the changes are not being saved (displayed on the table)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp; pageTitle="Attribute Table"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:layout&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout gap="0"/&amp;gt;
&amp;nbsp; &amp;lt;/s:layout&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;fx:Script&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.events.AttributeTableEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.events.FeatureLayerEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResult;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResults;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.Field;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.events.FlexEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.rpc.Fault;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* [Bindable] 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private var urltable:String = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/1" //or you can use your feature layer layerDetails informations to get the related table Id.
&amp;nbsp;&amp;nbsp;&amp;nbsp; private var yourTable:FeatureLayer; //Here you're casting the table as a FeatureLayer so it's editable
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function application1_initializeHandler(event:FlexEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable = new FeatureLayer(urltable, null, null) as FeatureLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function myMap_clickHandler(event:MouseEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (event.target is Graphic || event.target.parent is Graphic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic:Graphic = event.target is Graphic ? Graphic(event.target) : Graphic(event.target.parent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.objectIds = [graphic.attributes[myFeatureLayer.layerDetails.objectIdField]];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.addEventListener(FeatureLayerEvent.SELECTION_COMPLETE,myFeatureLayer_SelectionCompleteHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function myFeatureLayer_SelectionCompleteHandler(event:FeatureLayerEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "sf_311_serviceoid&amp;nbsp; = " + myFeatureLayer.selectedFeatures[0].attributes.objectid;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function fdg_updateFeatureHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const attributes:Object = {};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const objectIdField:String = event.featureLayer.layerDetails.objectIdField;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributes[objectIdField] = event.feature.attributes[objectIdField];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributes[event.field.name] = event.newValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // change the attributes on client right away
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.feature.attributes[event.field.name] = event.newValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const feature:Graphic = new Graphic(null, null, attributes);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const updates:Array = [ feature ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.featureLayer.applyEdits(null, updates, null, false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new AsyncResponder(featureLayer_editsCompleteHandler, featureLayer_faultHandler,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { feature: event.feature, field: event.field, oldValue: event.oldValue }));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function fdg_deleteFeaturesHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const deletes:Array = event.features;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.featureLayer.applyEdits(null, null, deletes, false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new AsyncResponder(featureLayer_editsCompleteHandler, featureLayer_faultHandler));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private function featureLayer_editsCompleteHandler(featureEditResults:FeatureEditResults, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var doRefresh:Boolean = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var deleteResult:FeatureEditResult in featureEditResults.deleteResults)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (deleteResult.success === false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Could not delete feature");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doRefresh = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var updateResult:FeatureEditResult in featureEditResults.updateResults)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const feature:Graphic = token.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (updateResult.success === false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Could not update feature, Restoring old value", "Error");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const field:Field = token.field;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.attributes[field.name] = token.oldValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doRefresh = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (doRefresh)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private function featureLayer_faultHandler(fault:Fault, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(fault.faultString, "Fault");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; ]]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/fx:Script&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:FeatureLayer id="yourTable" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/fx:Declarations&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:controlBarContent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:RichText width="100%"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This sample demonstrates how to use the AttributeTable component which allows viewing and editing feature atttributes.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The component uses a data grid where the columns correspond to the fields of a feature layer.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The application also allows user to click on a feature and select it. The AttributeTable then displays the selection
&amp;nbsp;&amp;nbsp;&amp;nbsp; by highlighting the corresponding row in the grid.
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:RichText&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:controlBarContent&amp;gt;
&amp;nbsp; &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp; width="100%" height="60%"
&amp;nbsp;&amp;nbsp; click="myMap_clickHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent id="sheepfire" xmin="-13638587" ymin="4543797" xmax="-13620242" ymax="4549912"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:SpatialReference wkid="102100"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:Extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:FeatureLayer id="myFeatureLayer" mode="onDemand" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/esri:Map&amp;gt;
&amp;nbsp; &amp;lt;s:Line width="100%"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:SolidColorStroke color="0x000000" weight="1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:Line&amp;gt;
&amp;nbsp; &amp;lt;s:BorderContainer width="100%" height="40%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backgroundColor="0xEEEEEE"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; borderVisible="false"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:HorizontalLayout paddingLeft="5" paddingRight="5" paddingTop="2"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:AttributeTable 
&amp;nbsp;&amp;nbsp;&amp;nbsp; id="myAttributeTable"
&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%" height="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteFeatures="fdg_deleteFeaturesHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer="{yourTable}"
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateFeature="fdg_updateFeatureHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:AttributeTable&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:BorderContainer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110646#M2563</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2021-12-11T06:39:18Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110647#M2564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes I add the function to do that. You have to fill them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Substitute the //TODO commentary by the code to do that. I didn't give a look to this code but I guess it should be really close to the one in the attributeTable sample except that you should applyEdits on yourTable and not on myFeatureLayer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm glad that I can help you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't forget to mark the post as "Answered" if you get your answer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ben&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 15:16:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110647#M2564</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2013-12-09T15:16:31Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110648#M2565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;yes, I will definitelly need to mark the question as answered. You've been of great help. However, the table is not saving the updates even with the code. It should know which feature layer to update since the event is in the myAttributeTable and the the feature layer for that is "yourTable", right? But it is not being saved. I will start a new thread with this question. Thank you so much again!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp; pageTitle="Attribute Table"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:layout&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout gap="0"/&amp;gt;
&amp;nbsp; &amp;lt;/s:layout&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;fx:Script&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.events.AttributeTableEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.events.FeatureLayerEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResult;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.FeatureEditResults;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.supportClasses.Field;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.events.FlexEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp;&amp;nbsp; import mx.rpc.Fault;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* [Bindable] 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private var urltable:String = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/1" //or you can use your feature layer layerDetails informations to get the related table Id.
&amp;nbsp;&amp;nbsp;&amp;nbsp; private var yourTable:FeatureLayer; //Here you're casting the table as a FeatureLayer so it's editable
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function application1_initializeHandler(event:FlexEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable = new FeatureLayer(urltable, null, null) as FeatureLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function myMap_clickHandler(event:MouseEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (event.target is Graphic || event.target.parent is Graphic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic:Graphic = event.target is Graphic ? Graphic(event.target) : Graphic(event.target.parent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.objectIds = [graphic.attributes[myFeatureLayer.layerDetails.objectIdField]];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.addEventListener(FeatureLayerEvent.SELECTION_COMPLETE,myFeatureLayer_SelectionCompleteHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function myFeatureLayer_SelectionCompleteHandler(event:FeatureLayerEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "sf_311_serviceoid&amp;nbsp; = " + myFeatureLayer.selectedFeatures[0].attributes.objectid;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function fdg_updateFeatureHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const attributes:Object = {};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const objectIdField:String = event.featureLayer.layerDetails.objectIdField;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributes[objectIdField] = event.feature.attributes[objectIdField];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributes[event.field.name] = event.newValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // change the attributes on client right away
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.feature.attributes[event.field.name] = event.newValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const feature:Graphic = new Graphic(null, null, attributes);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const updates:Array = [ feature ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.featureLayer.applyEdits(null, updates, null, false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new AsyncResponder(featureLayer_editsCompleteHandler, featureLayer_faultHandler,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { feature: event.feature, field: event.field, oldValue: event.oldValue }));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected function fdg_deleteFeaturesHandler(event:AttributeTableEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const deletes:Array = event.features;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.featureLayer.applyEdits(null, null, deletes, false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new AsyncResponder(featureLayer_editsCompleteHandler, featureLayer_faultHandler));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private function featureLayer_editsCompleteHandler(featureEditResults:FeatureEditResults, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var doRefresh:Boolean = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var deleteResult:FeatureEditResult in featureEditResults.deleteResults)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (deleteResult.success === false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Could not delete feature");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doRefresh = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var updateResult:FeatureEditResult in featureEditResults.updateResults)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const feature:Graphic = token.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (updateResult.success === false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Could not update feature, Restoring old value", "Error");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const field:Field = token.field;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.attributes[field.name] = token.oldValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doRefresh = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (doRefresh)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; private function featureLayer_faultHandler(fault:Fault, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(fault.faultString, "Fault");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; ]]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/fx:Script&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:FeatureLayer id="yourTable" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/fx:Declarations&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:controlBarContent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:RichText width="100%"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This sample demonstrates how to use the AttributeTable component which allows viewing and editing feature atttributes.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The component uses a data grid where the columns correspond to the fields of a feature layer.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The application also allows user to click on a feature and select it. The AttributeTable then displays the selection
&amp;nbsp;&amp;nbsp;&amp;nbsp; by highlighting the corresponding row in the grid.
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:RichText&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:controlBarContent&amp;gt;
&amp;nbsp; &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp; width="100%" height="60%"
&amp;nbsp;&amp;nbsp; click="myMap_clickHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent id="sheepfire" xmin="-13638587" ymin="4543797" xmax="-13620242" ymax="4549912"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:SpatialReference wkid="102100"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:Extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:extent&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:FeatureLayer id="myFeatureLayer" mode="onDemand" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/esri:Map&amp;gt;
&amp;nbsp; &amp;lt;s:Line width="100%"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:SolidColorStroke color="0x000000" weight="1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:stroke&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:Line&amp;gt;
&amp;nbsp; &amp;lt;s:BorderContainer width="100%" height="40%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backgroundColor="0xEEEEEE"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; borderVisible="false"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:HorizontalLayout paddingLeft="5" paddingRight="5" paddingTop="2"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:layout&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;esri:AttributeTable 
&amp;nbsp;&amp;nbsp;&amp;nbsp; id="myAttributeTable"
&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%" height="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteFeatures="fdg_deleteFeaturesHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer="{yourTable}"
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateFeature="fdg_updateFeatureHandler(event)"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:AttributeTable&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;lt;/s:BorderContainer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110648#M2565</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2021-12-11T06:39:21Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110649#M2566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes at the origin, the related table is a "Table" and not a "Layer" that's why in the updateFeatureHandler you can't find the objectIdField, because layerDetails = null.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You should use this : &lt;/SPAN&gt;&lt;PRE&gt;const objectIdField:String = event.featureLayer.tableDetails.objectIdField;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't forget to mark the post as answered if you get your answer &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ben&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 15:26:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110649#M2566</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2013-12-09T15:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110650#M2567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Cool, it worked, thank you so much for your help and expertise!!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 15:43:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110650#M2567</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2013-12-09T15:43:20Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110651#M2568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Benjamin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A quick question:&amp;nbsp; I am&amp;nbsp; using a feature layer from my server so I know the records are related. Is the selection&amp;nbsp; complete handler supposed to show only the records that are related to that point? Because I changed the function to use my own data but nothing changes in the table when I click the point. All records are being displayed on the table. Is it possible to change the function to make that work? Thank you!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
 protected function myFeatureLayer_SelectionCompleteHandler(event:FeatureLayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var query:Query = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "Office = " + myFeatureLayer.selectedFeatures[0].attributes.NAME_SH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.selectFeatures(query, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110651#M2568</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2021-12-11T06:39:24Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110652#M2569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's due to the component Attribute Table. It's just selectingin the table the entities answered to the query among all the entities.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want to do that, you could develop your own 'attribute table' displaying your data in a flex datagrid. Here is a quick example : &lt;/SPAN&gt;&lt;A href="https://developers.arcgis.com/en/flex/sample-code/query-result-in-table.htm"&gt;https://developers.arcgis.com/en/flex/sample-code/query-result-in-table.htm&lt;/A&gt;&lt;SPAN&gt;. But it's highly customizable.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 18:01:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110652#M2569</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2013-12-11T18:01:43Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110653#M2570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How can I make it select the record(s)? It is not selecting anything on the table.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; I thought about using that example but the problem is that the dataprovider of the data grid is an array with the results of the query and the query is done in a map service and I need to have the attribute table with data linked to a feature layer so I can edit the records. Is it possible to run a query&amp;nbsp; or a definition query on the feature layer (the table)?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 18:05:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110653#M2570</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2013-12-11T18:05:05Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110654#M2571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;As I remembered it worked on my layer...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For the datagrid, you could keep the same idea to populate it. Then a datagrid is a flex component which could be editable. If you put it as editable, the dataprovider (so an arrayCollection) will be modified.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For instance, you could add a "Save" button which launch an applyEdits on your featureLayer. You have to convert each lines of the datagrid in an object like "attributes", then push it in an array. Thus you'll use applyEdits like on every other example you could find here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm away for 2 days, but if you want I could give you an example. Perhaps try to populate your DG and make this "Save" button. Send me the code, I'll see that in 2 days.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ben,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 18:32:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110654#M2571</guid>
      <dc:creator>BenjaminMercier</dc:creator>
      <dc:date>2013-12-11T18:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110655#M2572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Benjamin, can you please send me an example and I will start to work on it! Thank you so much!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 19:48:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110655#M2572</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2013-12-11T19:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110656#M2573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ben,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think I got it, but I would like to know how to the editing in the datagrid so if you can please send me an example, it would be good because I found this way filters the data in the attribute table but it does not let me edit it. Would you happen to know why? It appears that it is not adding it as a feature layer, just as a table although I am casting it as a feature layer. Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is how I did:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
 &amp;lt;s:TextInput id="qText"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter="doSearch()"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text="AU"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolTip="You may use % as a wildcard, e.g., A%"/&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:Button click="doSearch()" label="Search"/&amp;gt;

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and I create the feature when I click the search button and also set the feature layer of the attribute layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
 {
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var urltable:String = "http://tfsgis-iisd01:6080/arcgis/rest/services/SARS_WILSON/RELATED_TABLES/FeatureServer/1" //or you can use your feature layer layerDetails informations to get the related table Id.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var yourTable:FeatureLayer; //Here you're casting the table as a FeatureLayer so it's editable
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable = new FeatureLayer(urltable, null, null) as FeatureLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.outFields = ["*"];
&amp;nbsp;&amp;nbsp;&amp;nbsp; yourTable.definitionExpression = "Office like '" + qText.text + "'";
&amp;nbsp;&amp;nbsp;&amp;nbsp; myAttributeTable.featureLayer = yourTable
&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110656#M2573</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2021-12-11T06:39:26Z</dc:date>
    </item>
    <item>
      <title>Re: Edit related records?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110657#M2574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Ben,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the example with related records and an editable datagrid. Do you think you can help me with the&amp;nbsp; save and delete functions? Thank you so much for all your help!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageTitle="Related records"&amp;gt;
 
 
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout gap="0"/&amp;gt;
 &amp;lt;/s:layout&amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.FeatureSet;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.FeatureLayerEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.MapMouseEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.Extent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.Query;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.RelationshipQuery;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; [Bindable]
&amp;nbsp;&amp;nbsp; private var selectedObjectID:Number;
&amp;nbsp;&amp;nbsp; [Bindable]
&amp;nbsp;&amp;nbsp; private var relatedRecordsCount:Number;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function findWells(event:MapMouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // find wells near the mouse click
&amp;nbsp;&amp;nbsp;&amp;nbsp; var tol:Number = map.extent.width / map.width * 5;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var x:Number = event.mapPoint.x;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var y:Number = event.mapPoint.y;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryExtent:Extent = new Extent(x - tol, y - tol, x + tol, y + tol, event.mapPoint.spatialReference);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var thisSelectionQuery:Query = new Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp; thisSelectionQuery.geometry = queryExtent;
&amp;nbsp;&amp;nbsp;&amp;nbsp; wellsLayer.selectFeatures(thisSelectionQuery, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function wellsLayer_selectionCompleteHandler(event:FeatureLayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedDatagrid.dataProvider = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // check the first return feature to see if it has any related features
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (event.features.length &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedTopsQuery.objectIds = [ event.features[0].attributes.OBJECTID ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectedObjectID = event.features[0].attributes.OBJECTID;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wellsLayer.queryRelatedFeatures(relatedTopsQuery, new AsyncResponder(onResult, onFault));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function onResult(relatedRecords:Object, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // get related records for the first feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fset:FeatureSet = (relatedRecords[event.features[0].attributes.OBJECTID]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fset is FeatureSet)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedDatagrid.dataProvider = new ArrayCollection(fset.attributes)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedRecordsCount = fset.attributes.length;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("No related records for well #" + event.features[0].attributes.OBJECTID, "No related records");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedRecordsCount = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function onFault(info:Object, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(info.toString(), "queryRelatedFeatures Problem");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("No wells found here, please try somewhere else.", "No features");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function saveRelatedRecordsForObjectID(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function deleteRelatedRecordsForObjectID(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp; &amp;lt;esri:RelationshipQuery id="relatedTopsQuery"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields="[OBJECTID,API_NUMBER,ELEVATION,FORMATION,TOP]"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relationshipId="3"/&amp;gt;
 &amp;lt;/fx:Declarations&amp;gt;
 
 &amp;lt;s:controlBarLayout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout gap="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingBottom="7"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="7"/&amp;gt;
 &amp;lt;/s:controlBarLayout&amp;gt;
 &amp;lt;s:controlBarContent&amp;gt;
 
&amp;nbsp; &amp;lt;s:Button click="saveRelatedRecordsForObjectID(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Save"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visible="{relatedRecordsCount &amp;gt; 0}"/&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:Button
&amp;nbsp;&amp;nbsp; click="deleteRelatedRecordsForObjectID(event)"
&amp;nbsp;&amp;nbsp; label= "Delete Records"
&amp;nbsp;&amp;nbsp; visible="{relatedRecordsCount &amp;gt; 0}"/&amp;gt;
&amp;nbsp; 
 &amp;lt;/s:controlBarContent&amp;gt;
 
 &amp;lt;esri:Map id="map" mapClick="findWells(event)"&amp;gt;
&amp;nbsp; &amp;lt;esri:extent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent xmin="-10854000" ymin="4502000" xmax="-10829000" ymax="4524000"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:SpatialReference wkid="102100"/&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:Extent&amp;gt;
&amp;nbsp; &amp;lt;/esri:extent&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISDynamicMapServiceLayer url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:visibleLayers&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ArrayCollection&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fx:Number&amp;gt;0&amp;lt;/fx:Number&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fx:Number&amp;gt;1&amp;lt;/fx:Number&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ArrayCollection&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:visibleLayers&amp;gt;
&amp;nbsp; &amp;lt;/esri:ArcGISDynamicMapServiceLayer&amp;gt;
&amp;nbsp; &amp;lt;esri:FeatureLayer id="wellsLayer"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode="selection"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields="[completion,plug_date]"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectionComplete="wellsLayer_selectionCompleteHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:infoWindowRenderer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fx:Component&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:LabelDataRenderer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:layout&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:layout&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:label&amp;gt;Well ID {data.OBJECTID}&amp;lt;/esri:label&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:Label text="Plug date: {data.plug_date ? new Date(data.plug_date) : 'No date available'}"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:Label text="Completion: {data.completion ? new Date(data.completion) : 'No date available'}"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:LabelDataRenderer&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/fx:Component&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/esri:infoWindowRenderer&amp;gt;
&amp;nbsp; &amp;lt;/esri:FeatureLayer&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 &amp;lt;s:DataGrid id="relatedDatagrid"
&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%" height="45%"&amp;gt;
&amp;nbsp; &amp;lt;s:columns&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:ArrayList&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="OBJECTID" headerText="ID"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="API_NUMBER" headerText="API Number"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="ELEVATION" headerText="Elevation"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="FORMATION" headerText="Formation"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="TOP" headerText="Top"/&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/s:ArrayList&amp;gt;
&amp;nbsp; &amp;lt;/s:columns&amp;gt;
 &amp;lt;/s:DataGrid&amp;gt;
 
&amp;lt;/s:Application&amp;gt;


&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:39:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/edit-related-records/m-p/110657#M2574</guid>
      <dc:creator>ionarawilson1</dc:creator>
      <dc:date>2021-12-11T06:39:29Z</dc:date>
    </item>
  </channel>
</rss>

