<?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: destroy featureTable in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709340#M65979</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning,&lt;/P&gt;&lt;P&gt;I don't know if the original subject of this question is still a problem. A few weeks ago I come across with the same issue and I manage to solve it by destroing the container of the FeatureTable. This is he code of my solution (with some extra code that you may not need at all):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var editorWidget;&lt;BR /&gt; var featureTable0;&lt;BR /&gt; var featureTable1;&lt;BR /&gt; var map;&lt;BR /&gt; var capaVisible = [];&lt;BR /&gt; var definitivo = [];&lt;BR /&gt; var relationships = [];&lt;BR /&gt; var relationship0;&lt;BR /&gt; var relationship1;&lt;BR /&gt; var relationship2;&lt;BR /&gt; var names = [];&lt;BR /&gt; var name0;&lt;BR /&gt; var name1;&lt;BR /&gt; var name2;&lt;BR /&gt; var myFeatureLayer0 = null;&lt;BR /&gt; var capasUsuario = [];&lt;BR /&gt; //var webmap = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //Mapa de consulta (Servidor de pruebas)&lt;BR /&gt; var webmap = "&lt;SPAN&gt;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;/SPAN&gt;"; //Mapa de edición (Servidor pruebas)&lt;/P&gt;&lt;P&gt;require([&lt;BR /&gt; "esri/layers/FeatureLayer",&lt;BR /&gt; "esri/dijit/FeatureTable",&lt;BR /&gt; "dojo/ready",&lt;BR /&gt; "dojo/parser",&lt;BR /&gt; "esri/arcgis/Portal",&lt;BR /&gt; "esri/arcgis/OAuthInfo",&lt;BR /&gt; "esri/IdentityManager",&lt;BR /&gt; "esri/config",&lt;BR /&gt; "esri/tasks/GeometryService",&lt;BR /&gt; "esri/symbols/PictureMarkerSymbol",&lt;BR /&gt; "esri/arcgis/utils",&lt;BR /&gt; "esri/dijit/LayerList",&lt;BR /&gt; "esri/tasks/query",&lt;BR /&gt; "dojo/on",&lt;BR /&gt; "dojo/dom",&lt;BR /&gt; "dojo/dom-attr",&lt;BR /&gt; "dojo/_base/lang",&lt;BR /&gt; "dojo/_base/array",&lt;BR /&gt; "esri/dijit/editing/Editor",&lt;BR /&gt; 'dojo/_base/html',&lt;BR /&gt; "esri/dijit/HomeButton",&lt;BR /&gt; "dojo/domReady!"&lt;BR /&gt; ], function (&lt;BR /&gt; FeatureLayer,&lt;BR /&gt; FeatureTable,&lt;BR /&gt; ready,&lt;BR /&gt; parser,&lt;BR /&gt; arcgisPortal,&lt;BR /&gt; OAuthInfo,&lt;BR /&gt; esriId,&lt;BR /&gt; config,&lt;BR /&gt; GeometryService,&lt;BR /&gt; PictureMarkerSymbol,&lt;BR /&gt; arcgisUtils,&lt;BR /&gt; LayerList,&lt;BR /&gt; Query,&lt;BR /&gt; on,&lt;BR /&gt; dom,&lt;BR /&gt; domAttr,&lt;BR /&gt; lang,&lt;BR /&gt; array,&lt;BR /&gt; Editor,&lt;BR /&gt; html,&lt;BR /&gt; HomeButton&lt;BR /&gt; ) {&lt;BR /&gt; ready(function () {&lt;/P&gt;&lt;P&gt;var info = new OAuthInfo({&lt;BR /&gt; appId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",&lt;BR /&gt;&lt;SPAN&gt; portalUrl: "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/arcgis",&lt;BR /&gt; popup: false&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;esriId.registerOAuthInfos([info]);&lt;/P&gt;&lt;P&gt;esriId.checkSignInStatus(info.portalUrl + "/sharing").then(&lt;BR /&gt; function () {&lt;BR /&gt; createMap();&lt;BR /&gt; }&lt;BR /&gt; ).otherwise(&lt;BR /&gt; function () {&lt;BR /&gt; esriId.getCredential(info.portalUrl + "/sharing").then(function () {&lt;BR /&gt; createMap();&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; );&lt;/P&gt;&lt;P&gt;on(dom.byId("return"), "click", function () {&lt;BR /&gt; window.location.replace("inicio.php");&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;on(dom.byId("sign-out"), "click", function () {&lt;BR /&gt; esriId.destroyCredentials();&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;function createMap() {&lt;/P&gt;&lt;P&gt;parser.parse();&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;config.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fyour.server%2Fapps%2Fedicion%2FNet%2Fproxy.ashx" rel="nofollow" target="_blank"&gt;https://your.server/apps/edicion/Net/proxy.ashx&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; config.defaults.geometryService = new GeometryService("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Futility.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FGeometry%2FGeometryServer" rel="nofollow" target="_blank"&gt;https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;//Creando el mapa&lt;BR /&gt;&lt;SPAN&gt; arcgisUtils.arcgisUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/arcgis/sharing/rest/content/items";&lt;/P&gt;&lt;P&gt;arcgisUtils.createMap(webmap, "map", {&lt;BR /&gt; ignorePopups: true&lt;BR /&gt; }).then(function (response) {&lt;/P&gt;&lt;P&gt;map = response.map;&lt;BR /&gt; var capas = arcgisUtils.getLayerList(response);&lt;BR /&gt; //var capasTematicas = capas.reverse();&lt;BR /&gt; var capasTematicas = capas;&lt;/P&gt;&lt;P&gt;for (var i = 0; i &amp;lt; arreglo.length; i++) {&lt;BR /&gt; for (var j = 0; j &amp;lt; capasTematicas.length; j++) {&lt;BR /&gt; if ((capasTematicas&lt;J&gt;.layer.layerId === parseInt(arreglo&lt;I&gt;[0])) &amp;amp;&amp;amp; (capasTematicas&lt;J&gt;.layer.arcgisProps.title === arreglo&lt;I&gt;[1])) {&lt;BR /&gt; capasUsuario.push(capasTematicas&lt;J&gt;);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/P&gt;&lt;P&gt;var myWidget = new LayerList({&lt;BR /&gt; map: map,&lt;BR /&gt; layers: capasUsuario.reverse()&lt;BR /&gt; }, "layerList");&lt;BR /&gt; myWidget.startup();&lt;/P&gt;&lt;P&gt;var table1 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode3'&lt;BR /&gt; }, "myTableNode0");&lt;/P&gt;&lt;P&gt;var table2 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode4'&lt;BR /&gt; }, "myTableNode1");&lt;/P&gt;&lt;P&gt;var table3 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode5'&lt;BR /&gt; }, "myTableNode2");&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt;&lt;SPAN&gt; myFeatureLayer0 = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/server/rest/services/yourService/FeatureServer/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt; var myFeatureLayer1 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt; var myFeatureLayer2 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;domAttr.set("tab0", "innerHTML", "Seleccione una capa para ver las tablas relacionadas");&lt;BR /&gt; domAttr.set("tab1", "innerHTML", ".");&lt;BR /&gt; domAttr.set("tab2", "innerHTML", ".");&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable0 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer0,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode3');&lt;BR /&gt; featureTable0.startup();&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable1 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer1,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode4');&lt;BR /&gt; featureTable1.startup();&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable2 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer2,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode5');&lt;BR /&gt; featureTable2.startup();&lt;/P&gt;&lt;P&gt;on(myWidget, "toggle", lang.hitch(this, function (evt) {&lt;BR /&gt; array.map(myWidget.layers, function (layer, indx) {&lt;/P&gt;&lt;P&gt;if (evt.visible) {&lt;BR /&gt; if (indx === evt.layerIndex) {&lt;BR /&gt; if (layer.visibility === true) {&lt;BR /&gt; if (typeof capaVisible !== 'undefined') {&lt;BR /&gt; capaVisible.push(layer);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; layer.layer.setVisibility(true);&lt;BR /&gt; layer.visibility = true;&lt;BR /&gt; }&lt;BR /&gt; if (indx !== evt.layerIndex) {&lt;BR /&gt; layer.layer.setVisibility(false);&lt;BR /&gt; layer.visibility = false;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;if (typeof capaVisible[0] !== 'undefined') {&lt;BR /&gt; if (typeof capaVisible[0].layer.relationships[0] !== 'undefined') {&lt;BR /&gt; if (typeof capaVisible[0].layer.relationships[1] !== 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = capaVisible[0].layer.relationships[0].name;&lt;BR /&gt; name2 = capaVisible[0].layer.relationships[1].name;&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = capaVisible[0].layer.relationships[0].relatedTableId.toString();&lt;BR /&gt; relationship2 = capaVisible[0].layer.relationships[1].relatedTableId.toString();&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; } else if (typeof capaVisible[0].layer.relationships[1] === 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = capaVisible[0].layer.relationships[0].name;&lt;BR /&gt; name2 = ".";&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = capaVisible[0].layer.relationships[0].relatedTableId.toString();&lt;BR /&gt; relationship2 = "0";&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;} else if (typeof capaVisible[0].layer.relationships[0] === 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = ".";&lt;BR /&gt; name2 = ".";&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = "0";&lt;BR /&gt; relationship2 = "0";&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }));&lt;/P&gt;&lt;P&gt;});&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;function loadTable(id, nombre) {&lt;BR /&gt; map.removeLayer(myFeatureLayer0);&lt;BR /&gt; domAttr.set("tab0", "innerHTML", nombre[0]);&lt;BR /&gt; domAttr.set("tab1", "innerHTML", nombre[1]);&lt;BR /&gt; domAttr.set("tab2", "innerHTML", nombre[2]);&lt;/P&gt;&lt;P&gt;var table1 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode3'&lt;BR /&gt; }, "myTableNode0");&lt;/P&gt;&lt;P&gt;var table2 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode4'&lt;BR /&gt; }, "myTableNode1");&lt;/P&gt;&lt;P&gt;var table3 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode5'&lt;BR /&gt; }, "myTableNode2");&lt;/P&gt;&lt;P&gt;// FeatureLayer1 editable&lt;BR /&gt; myFeatureLayer0 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[0], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Recuadro azul al seleccionar un feature en el mapa&lt;BR /&gt; var selectionSymbol = new PictureMarkerSymbol("img/select.png", 35, 35);&lt;/P&gt;&lt;P&gt;myFeatureLayer0.setSelectionSymbol(selectionSymbol);&lt;/P&gt;&lt;P&gt;// Cuando un usuario hace clic sobre un elemento en el mapa, la fila correspondiente en la primer tabla&lt;BR /&gt; // (Tabla de featureLayer) se selecciona&lt;BR /&gt; myFeatureLayer0.on("click", function (evt) {&lt;BR /&gt; var idProperty = myFeatureLayer0.objectIdField,&lt;BR /&gt; feature,&lt;BR /&gt; featureId,&lt;BR /&gt; query;&lt;/P&gt;&lt;P&gt;if (evt.graphic &amp;amp;&amp;amp; evt.graphic.attributes &amp;amp;&amp;amp; evt.graphic.attributes[idProperty]) {&lt;BR /&gt; feature = evt.graphic,&lt;BR /&gt; featureId = feature.attributes[idProperty];&lt;/P&gt;&lt;P&gt;query = new Query();&lt;BR /&gt; query.returnGeometry = false;&lt;BR /&gt; query.objectIds = [featureId];&lt;BR /&gt; query.where = "1=1";&lt;/P&gt;&lt;P&gt;myFeatureLayer0.selectFeatures(query, FeatureLayer.SELECTION_NEW);&lt;BR /&gt; }&lt;BR /&gt; });&lt;BR /&gt; map.addLayer(myFeatureLayer0);&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable0 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer0,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode3');&lt;BR /&gt; featureTable0.startup();&lt;BR /&gt; &lt;BR /&gt; console.log("featureTable0");&lt;BR /&gt; console.log(featureTable0);&lt;/P&gt;&lt;P&gt;// FeatureLayer2 editable&lt;BR /&gt; var myFeatureLayer1 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[1], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable1 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer1,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode4');&lt;BR /&gt; featureTable1.startup();&lt;BR /&gt; &lt;BR /&gt; console.log("featureTable1");&lt;BR /&gt; console.log(featureTable1);&lt;/P&gt;&lt;P&gt;// FeatureLayer2 editable&lt;BR /&gt; var myFeatureLayer2 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[2], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable2 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer2,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode5');&lt;BR /&gt; featureTable2.startup();&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable0.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt); &lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;featureTable0.on("show-related-records", function (evt) {&lt;BR /&gt; console.log("show-related-records", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable1.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable2.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;relationships = null;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;});&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in this video you can see how this code works (of course, the HTML code is on a different file):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6162395987001w320h240r430" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6162395987001" data-account="6161463677001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6161463677001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6162395987001w320h240r430');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://community.esri.com/t5/video/gallerypage/video-id/6162395987001"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this answer helps with this problem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Jan 2018 14:43:31 GMT</pubDate>
    <dc:creator>Ronald_GuiovanniVenegas_Pulido</dc:creator>
    <dc:date>2018-01-26T14:43:31Z</dc:date>
    <item>
      <title>destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709330#M65969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is only one method on the FeatureTable widget (startup). is there anyway to completely destroy the featureTable and recreate it each time the selection query changes.&lt;/P&gt;&lt;P&gt;I could create my own table to display selection query result but I would prefer using featureTable widget because of the editing capability to it. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 14:37:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709330#M65969</guid>
      <dc:creator>RichardMoussopo</dc:creator>
      <dc:date>2016-04-28T14:37:50Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709331#M65970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why u just dont show it at startup (hide it with css) and then when u make a selection u show the table with the selected data making a query with geometry?&lt;/P&gt;&lt;P&gt;And if the user click on something else that is not the map or the table itself u hide it again?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 14:59:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709331#M65970</guid>
      <dc:creator>EvelynHernandez</dc:creator>
      <dc:date>2016-04-28T14:59:54Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709332#M65971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;that is exactly the logic I am going to use now but the only issue is that the table is not refreshing at all. I am using &lt;STRONG&gt;myFeatureTable.grid.refresh()&lt;/STRONG&gt;; but nothing happens the table keeps the same result set from the first query.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 15:06:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709332#M65971</guid>
      <dc:creator>RichardMoussopo</dc:creator>
      <dc:date>2016-04-28T15:06:55Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709333#M65972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe if u show ur code in jsfiddle we can see what is going wrong.&lt;/P&gt;&lt;P&gt;But remember that u need to do the query every time when u select a new item (or when u change ur map extent), so u will have to make a listener that allows to perform the query every time u make a selection or change the map extent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, in my case i had to make a table that refreshes the result every time i change the map extent, so i applied a listener on the map, like:&lt;/P&gt;&lt;P&gt;map.on('extent-change', ()=&amp;gt;{&amp;nbsp;&amp;nbsp; getInfoByExtent((map.extent), (myresultcallback)=&amp;gt;{do something with the callback that i got } });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My query is:&lt;/P&gt;&lt;P&gt;function getInfoByExtent(extent, callback){&lt;/P&gt;&lt;P&gt;var qTask = new esri.tasks.QueryTask(mylayer);&lt;/P&gt;&lt;P&gt;&amp;nbsp; var q= new esri.tasks.Query();&lt;/P&gt;&lt;P&gt;&amp;nbsp; q.where = "1=1";&lt;/P&gt;&lt;P&gt;&amp;nbsp; q.returnGeometry = true;&lt;/P&gt;&lt;P&gt;&amp;nbsp; q.outFields=["*"];&lt;/P&gt;&lt;P&gt;&amp;nbsp; q.geometry = extent;&lt;/P&gt;&lt;P&gt;&amp;nbsp; q.spatialRelationship = esri.tasks.Query.SPATIAL_REL_CONTAINS;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; qTask.execute(q, (featureSet)=&amp;gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; callback(featureSet.features);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }, (Errorq)=&amp;gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(Errorq,"Error doing query by extent");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 15:19:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709333#M65972</guid>
      <dc:creator>EvelynHernandez</dc:creator>
      <dc:date>2016-04-28T15:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709334#M65973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is the sample code. I am expecting it to work a bit more like the FeatureTable from ArcGIS Online:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;html&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;head&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;title&amp;gt;FeatureTable Formatting&amp;lt;/title&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="https://community.esri.com//js.arcgis.com/3.16/dijit/themes/claro/claro.css"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="https://community.esri.com//js.arcgis.com/3.16/esri/css/esri.css"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;script src="//js.arcgis.com/3.16/"&amp;gt;&amp;lt;/script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;style&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; html, body, #map {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 100%;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: 100%;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin: 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/style&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Sample from &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fdevelopers.arcgis.com%2Fjavascript%2Fsandbox%2Fsandbox.html%3Fsample%3Dfeaturetable_formatting" rel="nofollow" target="_blank"&gt;http://developers.arcgis.com/javascript/sandbox/sandbox.html?sample=featuretable_formatting&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // Globals&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map, myFeatureLayer, myFeatureTable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; require([&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/FeatureLayer",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/dijit/FeatureTable",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/query",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/QueryTask",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/geometry/Extent",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleMarkerSymbol",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleLineSymbol",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/Color",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom-construct",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/number",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/parser",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/ready",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/on",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/lang",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/registry",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/form/Button",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/ContentPane",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/BorderContainer",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/form/TextBox"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ], function (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FeatureLayer, FeatureTable,Query, QueryTask, Extent, SimpleMarkerSymbol, SimpleLineSymbol, Color, Map,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domConstruct, dom, dojoNum, parser, ready, on,lang,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry, Button, ContentPane, BorderContainer, TextBox&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parser.parse();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ready(function(){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map("map",{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "dark-gray", &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extent: new Extent({xmax: -13035353.854156237, xmin: -13053431.211345658,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ymax: 4038351.1313028745, ymin: 4034089.766975982,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "spatialReference":{"wkid":102100,"latestWkid":3857}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var myFeatureLayer = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fservices.arcgis.com%2FV6ZHFr6zdgNZuVG0%2Farcgis%2Frest%2Fservices%2FRedlands_Emergency_Facilities%2FFeatureServer%2F0" rel="nofollow" target="_blank"&gt;http://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Redlands_Emergency_Facilities/FeatureServer/0&lt;/A&gt;&lt;SPAN&gt;",{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode: FeatureLayer.MODE_ONDEMAND,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields: ["*"],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visible: true,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "fLayer"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set a selection symbol for the featurelayer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectionSymbol =&amp;nbsp; new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 12,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([0, 255, 197, 1])));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureLayer.setSelectionSymbol(selectionSymbol);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(myFeatureLayer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.on("load", loadTable);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.on("extent-change", updateTableByExtent);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function updateTableByExtent(ext){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("Map Extent: ", ext.extent);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var qTask = new QueryTask(myFeatureLayer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var q= new Query();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q.where = "1=1";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q.returnGeometry = true;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q.outFields=["*"];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q.geometry = ext.extent;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q.spatialRelationship = Query.SPATIAL_REL_CONTAINS;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qTask.execute(q, successCallBack, errorCallBack);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function successCallBack(result){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Update the featureTable here ====&amp;gt; this should work more like the featureTable widget on ArcGIS Online&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(result);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function errorCallBack(err){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("Ooops Error: ", err);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function loadTable(){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create new FeatureTable and set its properties &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable = new FeatureTable({&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer : myFeatureLayer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map : map,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gridOptions: {&lt;/P&gt;&lt;P&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; allowSelectAll: true,&lt;/P&gt;&lt;P&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; allowTextSelection: true,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; editable: true,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //zoomToSelection: false, //disable pan/zoom action on the map for selected features&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // showGridHeader: false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // showGridMenu: false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dateOptions: {&lt;/P&gt;&lt;P&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; //set date options at the feature table level &lt;/P&gt;&lt;P&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; //all date fields will adhere this &lt;/P&gt;&lt;P&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; datePattern: "EEEE, MMMM d, y"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //define order and visibility of fields. If the fields are not listed in 'outFIelds'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // then they will be hidden when the table starts. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields: ["factype", "facname", "organiz", "capacity", "curcapacity", "hoursoper", &lt;/P&gt;&lt;P&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; "daysoper", "opsstatus", "opendate", "imageurl", "pocname", "pocphone"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldInfos: [&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'factype', &lt;/P&gt;&lt;P&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; alias: 'Facility Type', &lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'hoursoper', &lt;/P&gt;&lt;P&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; alias: 'Open Hours',&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'curcapacity', &lt;/P&gt;&lt;P&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; format: {&lt;/P&gt;&lt;P&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; template: "${value} people"&lt;/P&gt;&lt;P&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; }&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'daysoper', &lt;/P&gt;&lt;P&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; alias: 'Open Days',&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'opsstatus', &lt;/P&gt;&lt;P&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; alias: 'Status',&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'lastupdate', &lt;/P&gt;&lt;P&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; alias: 'Last Update',&lt;/P&gt;&lt;P&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; //this will override FeatureTable.dateOptions &lt;/P&gt;&lt;P&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; //settings &lt;/P&gt;&lt;P&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; dateOptions: {&lt;/P&gt;&lt;P&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; datePattern: 'M/d/y', &lt;/P&gt;&lt;P&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; }&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'imageurl', &lt;/P&gt;&lt;P&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; alias: 'More Info',&lt;/P&gt;&lt;P&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; editable: false&lt;/P&gt;&lt;P&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; },&lt;/P&gt;&lt;P&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; {&lt;/P&gt;&lt;P&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; name: 'pocphone', &lt;/P&gt;&lt;P&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; alias: 'Phone #',&lt;/P&gt;&lt;P&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; format: {&lt;/P&gt;&lt;P&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; template: "tel: ${value}"&lt;/P&gt;&lt;P&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; }&lt;/P&gt;&lt;P&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; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, 'myTableNode');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable.startup();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;body class="claro esri"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline'" style="width:100%; height:100%;"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center', splitter:true" style="height:50%"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="map"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="bot" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom', splitter:true" style="height:50%"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="myTableNode"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/body&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV data-dojo-props="design:'headline'" data-dojo-type="dijit/layout/BorderContainer" style="width: 100%; height: 100%;"&gt;&amp;nbsp; &lt;DIV data-dojo-props="region:'center', splitter:true" data-dojo-type="dijit/layout/ContentPane" style="height: 50%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;DIV&gt; &lt;/DIV&gt;&amp;nbsp; &lt;/DIV&gt;&amp;nbsp; &lt;DIV data-dojo-props="region:'bottom', splitter:true" data-dojo-type="dijit/layout/ContentPane" style="height: 50%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;DIV&gt; &lt;/DIV&gt;&amp;nbsp; &lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 20:28:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709334#M65973</guid>
      <dc:creator>RichardMoussopo</dc:creator>
      <dc:date>2016-04-28T20:28:33Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709336#M65975</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Jeff&amp;nbsp; for this trick. it works good.&lt;/P&gt;&lt;P&gt;Now the only issue I have is that the table is loading all attributes from the FeatureLayer. I only want the table to load only the selected features in the featureLayer. I have the fLayer added to the map with MODE ONDEMAND. I tried &lt;STRONG&gt;flayer.setDefinitionExpression(whereClause)&lt;/STRONG&gt; it works ok but limit the records set for the next query. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 14:42:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709336#M65975</guid>
      <dc:creator>RichardMoussopo</dc:creator>
      <dc:date>2016-04-29T14:42:28Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709337#M65976</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Richard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The FeatureTable does not respect the records available based on the FeatureLayers Mode (i.e. onDemand or Selection) but I provided some code to work around that in this thread:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/thread/176008"&gt;Can a FeatureTable only display the FeatureLayer's selection when the FeatureLayer is in MODE_SELECTION?&lt;/A&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 18:54:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709337#M65976</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2016-04-29T18:54:55Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709338#M65977</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Richard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've updated some code in your sample and it should work as expected:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp; // use a url string, not a layer object reference
&lt;SPAN&gt;&amp;nbsp; var qTask = new QueryTask("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fservices.arcgis.com%2FV6ZHFr6zdgNZuVG0%2Farcgis%2Frest%2Fservices%2FRedlands_Emergency_Facilities%2FFeatureServer%2F0" target="_blank"&gt;http://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Redlands_Emergency_Facilities/FeatureServer/0&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;
//... 
//...
function successCallBack(result){
&amp;nbsp; if (myFeatureTable &amp;amp;&amp;amp; myFeatureTable.dataStore) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // requires "dojo/_base/array" 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var newData = array.map(result.features, function(feature) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return feature.attributes;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable.dataStore.data = newData;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // The following 2 lines are a way to get the header counts to refresh as expected..
&amp;nbsp;&amp;nbsp;&amp;nbsp; // .. FeatureTable should probably handle this internally when dataStore is updated (potential 3.17 update)
&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable.featureCount = newData.length;
&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp; myFeatureTable.refresh();
&amp;nbsp; }
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you run into any issues with the above.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:24:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709338#M65977</guid>
      <dc:creator>JonathanUihlein</dc:creator>
      <dc:date>2021-12-12T06:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709339#M65978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #3d3d3d;"&gt;myFeatureTable.grid.refresh()&lt;/SPAN&gt;&lt;SPAN style="color: #3d3d3d; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;; is still not functioning in 3.17, but I was able to use your solution Jeff.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Aug 2016 18:47:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709339#M65978</guid>
      <dc:creator>LauraMiles1</dc:creator>
      <dc:date>2016-08-03T18:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709340#M65979</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning,&lt;/P&gt;&lt;P&gt;I don't know if the original subject of this question is still a problem. A few weeks ago I come across with the same issue and I manage to solve it by destroing the container of the FeatureTable. This is he code of my solution (with some extra code that you may not need at all):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var editorWidget;&lt;BR /&gt; var featureTable0;&lt;BR /&gt; var featureTable1;&lt;BR /&gt; var map;&lt;BR /&gt; var capaVisible = [];&lt;BR /&gt; var definitivo = [];&lt;BR /&gt; var relationships = [];&lt;BR /&gt; var relationship0;&lt;BR /&gt; var relationship1;&lt;BR /&gt; var relationship2;&lt;BR /&gt; var names = [];&lt;BR /&gt; var name0;&lt;BR /&gt; var name1;&lt;BR /&gt; var name2;&lt;BR /&gt; var myFeatureLayer0 = null;&lt;BR /&gt; var capasUsuario = [];&lt;BR /&gt; //var webmap = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //Mapa de consulta (Servidor de pruebas)&lt;BR /&gt; var webmap = "&lt;SPAN&gt;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;/SPAN&gt;"; //Mapa de edición (Servidor pruebas)&lt;/P&gt;&lt;P&gt;require([&lt;BR /&gt; "esri/layers/FeatureLayer",&lt;BR /&gt; "esri/dijit/FeatureTable",&lt;BR /&gt; "dojo/ready",&lt;BR /&gt; "dojo/parser",&lt;BR /&gt; "esri/arcgis/Portal",&lt;BR /&gt; "esri/arcgis/OAuthInfo",&lt;BR /&gt; "esri/IdentityManager",&lt;BR /&gt; "esri/config",&lt;BR /&gt; "esri/tasks/GeometryService",&lt;BR /&gt; "esri/symbols/PictureMarkerSymbol",&lt;BR /&gt; "esri/arcgis/utils",&lt;BR /&gt; "esri/dijit/LayerList",&lt;BR /&gt; "esri/tasks/query",&lt;BR /&gt; "dojo/on",&lt;BR /&gt; "dojo/dom",&lt;BR /&gt; "dojo/dom-attr",&lt;BR /&gt; "dojo/_base/lang",&lt;BR /&gt; "dojo/_base/array",&lt;BR /&gt; "esri/dijit/editing/Editor",&lt;BR /&gt; 'dojo/_base/html',&lt;BR /&gt; "esri/dijit/HomeButton",&lt;BR /&gt; "dojo/domReady!"&lt;BR /&gt; ], function (&lt;BR /&gt; FeatureLayer,&lt;BR /&gt; FeatureTable,&lt;BR /&gt; ready,&lt;BR /&gt; parser,&lt;BR /&gt; arcgisPortal,&lt;BR /&gt; OAuthInfo,&lt;BR /&gt; esriId,&lt;BR /&gt; config,&lt;BR /&gt; GeometryService,&lt;BR /&gt; PictureMarkerSymbol,&lt;BR /&gt; arcgisUtils,&lt;BR /&gt; LayerList,&lt;BR /&gt; Query,&lt;BR /&gt; on,&lt;BR /&gt; dom,&lt;BR /&gt; domAttr,&lt;BR /&gt; lang,&lt;BR /&gt; array,&lt;BR /&gt; Editor,&lt;BR /&gt; html,&lt;BR /&gt; HomeButton&lt;BR /&gt; ) {&lt;BR /&gt; ready(function () {&lt;/P&gt;&lt;P&gt;var info = new OAuthInfo({&lt;BR /&gt; appId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",&lt;BR /&gt;&lt;SPAN&gt; portalUrl: "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/arcgis",&lt;BR /&gt; popup: false&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;esriId.registerOAuthInfos([info]);&lt;/P&gt;&lt;P&gt;esriId.checkSignInStatus(info.portalUrl + "/sharing").then(&lt;BR /&gt; function () {&lt;BR /&gt; createMap();&lt;BR /&gt; }&lt;BR /&gt; ).otherwise(&lt;BR /&gt; function () {&lt;BR /&gt; esriId.getCredential(info.portalUrl + "/sharing").then(function () {&lt;BR /&gt; createMap();&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; );&lt;/P&gt;&lt;P&gt;on(dom.byId("return"), "click", function () {&lt;BR /&gt; window.location.replace("inicio.php");&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;on(dom.byId("sign-out"), "click", function () {&lt;BR /&gt; esriId.destroyCredentials();&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;function createMap() {&lt;/P&gt;&lt;P&gt;parser.parse();&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;config.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fyour.server%2Fapps%2Fedicion%2FNet%2Fproxy.ashx" rel="nofollow" target="_blank"&gt;https://your.server/apps/edicion/Net/proxy.ashx&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; config.defaults.geometryService = new GeometryService("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Futility.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FGeometry%2FGeometryServer" rel="nofollow" target="_blank"&gt;https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;//Creando el mapa&lt;BR /&gt;&lt;SPAN&gt; arcgisUtils.arcgisUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/arcgis/sharing/rest/content/items";&lt;/P&gt;&lt;P&gt;arcgisUtils.createMap(webmap, "map", {&lt;BR /&gt; ignorePopups: true&lt;BR /&gt; }).then(function (response) {&lt;/P&gt;&lt;P&gt;map = response.map;&lt;BR /&gt; var capas = arcgisUtils.getLayerList(response);&lt;BR /&gt; //var capasTematicas = capas.reverse();&lt;BR /&gt; var capasTematicas = capas;&lt;/P&gt;&lt;P&gt;for (var i = 0; i &amp;lt; arreglo.length; i++) {&lt;BR /&gt; for (var j = 0; j &amp;lt; capasTematicas.length; j++) {&lt;BR /&gt; if ((capasTematicas&lt;J&gt;.layer.layerId === parseInt(arreglo&lt;I&gt;[0])) &amp;amp;&amp;amp; (capasTematicas&lt;J&gt;.layer.arcgisProps.title === arreglo&lt;I&gt;[1])) {&lt;BR /&gt; capasUsuario.push(capasTematicas&lt;J&gt;);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/P&gt;&lt;P&gt;var myWidget = new LayerList({&lt;BR /&gt; map: map,&lt;BR /&gt; layers: capasUsuario.reverse()&lt;BR /&gt; }, "layerList");&lt;BR /&gt; myWidget.startup();&lt;/P&gt;&lt;P&gt;var table1 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode3'&lt;BR /&gt; }, "myTableNode0");&lt;/P&gt;&lt;P&gt;var table2 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode4'&lt;BR /&gt; }, "myTableNode1");&lt;/P&gt;&lt;P&gt;var table3 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode5'&lt;BR /&gt; }, "myTableNode2");&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt;&lt;SPAN&gt; myFeatureLayer0 = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;/server/rest/services/yourService/FeatureServer/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt; var myFeatureLayer1 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// FeatureLayer editable&lt;BR /&gt; var myFeatureLayer2 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/0", {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;domAttr.set("tab0", "innerHTML", "Seleccione una capa para ver las tablas relacionadas");&lt;BR /&gt; domAttr.set("tab1", "innerHTML", ".");&lt;BR /&gt; domAttr.set("tab2", "innerHTML", ".");&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable0 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer0,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode3');&lt;BR /&gt; featureTable0.startup();&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable1 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer1,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode4');&lt;BR /&gt; featureTable1.startup();&lt;/P&gt;&lt;P&gt;//Crea un nuevo FeatureTable y establece sus propiedades &lt;BR /&gt; featureTable2 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer2,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode5');&lt;BR /&gt; featureTable2.startup();&lt;/P&gt;&lt;P&gt;on(myWidget, "toggle", lang.hitch(this, function (evt) {&lt;BR /&gt; array.map(myWidget.layers, function (layer, indx) {&lt;/P&gt;&lt;P&gt;if (evt.visible) {&lt;BR /&gt; if (indx === evt.layerIndex) {&lt;BR /&gt; if (layer.visibility === true) {&lt;BR /&gt; if (typeof capaVisible !== 'undefined') {&lt;BR /&gt; capaVisible.push(layer);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; layer.layer.setVisibility(true);&lt;BR /&gt; layer.visibility = true;&lt;BR /&gt; }&lt;BR /&gt; if (indx !== evt.layerIndex) {&lt;BR /&gt; layer.layer.setVisibility(false);&lt;BR /&gt; layer.visibility = false;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;if (typeof capaVisible[0] !== 'undefined') {&lt;BR /&gt; if (typeof capaVisible[0].layer.relationships[0] !== 'undefined') {&lt;BR /&gt; if (typeof capaVisible[0].layer.relationships[1] !== 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = capaVisible[0].layer.relationships[0].name;&lt;BR /&gt; name2 = capaVisible[0].layer.relationships[1].name;&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = capaVisible[0].layer.relationships[0].relatedTableId.toString();&lt;BR /&gt; relationship2 = capaVisible[0].layer.relationships[1].relatedTableId.toString();&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; } else if (typeof capaVisible[0].layer.relationships[1] === 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = capaVisible[0].layer.relationships[0].name;&lt;BR /&gt; name2 = ".";&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = capaVisible[0].layer.relationships[0].relatedTableId.toString();&lt;BR /&gt; relationship2 = "0";&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;} else if (typeof capaVisible[0].layer.relationships[0] === 'undefined') {&lt;BR /&gt; relationships = [];&lt;BR /&gt; names = [];&lt;BR /&gt; name0 = capaVisible[0].layer.name;&lt;BR /&gt; name1 = ".";&lt;BR /&gt; name2 = ".";&lt;BR /&gt; names.push(name0);&lt;BR /&gt; names.push(name1);&lt;BR /&gt; names.push(name2);&lt;BR /&gt; relationship0 = capaVisible[0].layer.layerId.toString();&lt;BR /&gt; relationship1 = "0";&lt;BR /&gt; relationship2 = "0";&lt;BR /&gt; relationships.push(relationship0);&lt;BR /&gt; relationships.push(relationship1);&lt;BR /&gt; relationships.push(relationship2);&lt;/P&gt;&lt;P&gt;if (featureTable0 &amp;amp;&amp;amp; featureTable1 &amp;amp;&amp;amp; featureTable2) {&lt;BR /&gt; featureTable0.destroy();&lt;BR /&gt; featureTable1.destroy();&lt;BR /&gt; featureTable2.destroy();&lt;BR /&gt; featureTable0 = null;&lt;BR /&gt; featureTable1 = null;&lt;BR /&gt; featureTable2 = null;&lt;BR /&gt; capaVisible = [];&lt;BR /&gt; loadTable(relationships, names);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }));&lt;/P&gt;&lt;P&gt;});&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;function loadTable(id, nombre) {&lt;BR /&gt; map.removeLayer(myFeatureLayer0);&lt;BR /&gt; domAttr.set("tab0", "innerHTML", nombre[0]);&lt;BR /&gt; domAttr.set("tab1", "innerHTML", nombre[1]);&lt;BR /&gt; domAttr.set("tab2", "innerHTML", nombre[2]);&lt;/P&gt;&lt;P&gt;var table1 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode3'&lt;BR /&gt; }, "myTableNode0");&lt;/P&gt;&lt;P&gt;var table2 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode4'&lt;BR /&gt; }, "myTableNode1");&lt;/P&gt;&lt;P&gt;var table3 = html.create('div', {&lt;BR /&gt; 'class': 'esriTable',&lt;BR /&gt; 'id': 'myTableNode5'&lt;BR /&gt; }, "myTableNode2");&lt;/P&gt;&lt;P&gt;// FeatureLayer1 editable&lt;BR /&gt; myFeatureLayer0 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[0], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Recuadro azul al seleccionar un feature en el mapa&lt;BR /&gt; var selectionSymbol = new PictureMarkerSymbol("img/select.png", 35, 35);&lt;/P&gt;&lt;P&gt;myFeatureLayer0.setSelectionSymbol(selectionSymbol);&lt;/P&gt;&lt;P&gt;// Cuando un usuario hace clic sobre un elemento en el mapa, la fila correspondiente en la primer tabla&lt;BR /&gt; // (Tabla de featureLayer) se selecciona&lt;BR /&gt; myFeatureLayer0.on("click", function (evt) {&lt;BR /&gt; var idProperty = myFeatureLayer0.objectIdField,&lt;BR /&gt; feature,&lt;BR /&gt; featureId,&lt;BR /&gt; query;&lt;/P&gt;&lt;P&gt;if (evt.graphic &amp;amp;&amp;amp; evt.graphic.attributes &amp;amp;&amp;amp; evt.graphic.attributes[idProperty]) {&lt;BR /&gt; feature = evt.graphic,&lt;BR /&gt; featureId = feature.attributes[idProperty];&lt;/P&gt;&lt;P&gt;query = new Query();&lt;BR /&gt; query.returnGeometry = false;&lt;BR /&gt; query.objectIds = [featureId];&lt;BR /&gt; query.where = "1=1";&lt;/P&gt;&lt;P&gt;myFeatureLayer0.selectFeatures(query, FeatureLayer.SELECTION_NEW);&lt;BR /&gt; }&lt;BR /&gt; });&lt;BR /&gt; map.addLayer(myFeatureLayer0);&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable0 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer0,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode3');&lt;BR /&gt; featureTable0.startup();&lt;BR /&gt; &lt;BR /&gt; console.log("featureTable0");&lt;BR /&gt; console.log(featureTable0);&lt;/P&gt;&lt;P&gt;// FeatureLayer2 editable&lt;BR /&gt; var myFeatureLayer1 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[1], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable1 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer1,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode4');&lt;BR /&gt; featureTable1.startup();&lt;BR /&gt; &lt;BR /&gt; console.log("featureTable1");&lt;BR /&gt; console.log(featureTable1);&lt;/P&gt;&lt;P&gt;// FeatureLayer2 editable&lt;BR /&gt; var myFeatureLayer2 = new FeatureLayer("&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fg" rel="nofollow" target="_blank"&gt;https://g&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;your.server&lt;/SPAN&gt;&lt;SPAN&gt;/server/rest/services/&lt;/SPAN&gt;&lt;SPAN&gt;yourService&lt;/SPAN&gt;&lt;SPAN&gt;/FeatureServer&lt;/SPAN&gt;/" + id[2], {&lt;BR /&gt; mode: FeatureLayer.MODE_ONDEMAND,&lt;BR /&gt; outFields: ["*"],&lt;BR /&gt; visible: true&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;//Crea una nueva FeatureTable y establece sus propiedades&lt;BR /&gt; featureTable2 = new FeatureTable({&lt;BR /&gt; featureLayer: myFeatureLayer2,&lt;BR /&gt; map: map,&lt;BR /&gt; editable: true,&lt;BR /&gt; syncSelection: true,&lt;BR /&gt; showGridHeader: false&lt;BR /&gt; }, 'myTableNode5');&lt;BR /&gt; featureTable2.startup();&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable0.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt); &lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;featureTable0.on("show-related-records", function (evt) {&lt;BR /&gt; console.log("show-related-records", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable1.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;// Escucha al evento para refrescar la información&lt;BR /&gt; featureTable2.on("refresh", function (evt) {&lt;BR /&gt; //console.log("refresh event - ", evt);&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;relationships = null;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;});&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in this video you can see how this code works (of course, the HTML code is on a different file):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6162395987001w320h240r296" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6162395987001" data-account="6161463677001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6161463677001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6162395987001w320h240r296');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://community.esri.com/t5/video/gallerypage/video-id/6162395987001"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this answer helps with this problem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 14:43:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709340#M65979</guid>
      <dc:creator>Ronald_GuiovanniVenegas_Pulido</dc:creator>
      <dc:date>2018-01-26T14:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: destroy featureTable</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709335#M65974</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/24416" target="_blank"&gt;Richard Moussopo&lt;/A&gt;​, you are correct when you state that the FeatureTable does not update when you update your FeatureLayer. I contacted Esri customer support in February about this and was told to use the workaround that you are trying, to destroy and recreate the table each time the feature layer is updated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I asked them to create an enhancement request to keep the features in sync, which they did:&lt;/P&gt;&lt;P&gt;#ENH-000094524&amp;nbsp; [Enhancement] Update Featuretable when the underlying Featurelayer's definition query changes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is the function I used to create the table, which will destroy the previous table each time it is called.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var table;
function createTable() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Destroy existing table.
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (table) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; table.destroyRecursive();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId("tablePane").domNode.innerHTML = '&amp;lt;div id="table"&amp;gt;&amp;lt;/div&amp;gt;';
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Resizes the table panel as the table is collapsed or expanded.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param {Event} e - Table close button click event.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; function resizeTablePanel(e) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var gridHeaderNode = registry.byId(table._gridHeaderNode || table._gridMenu).domNode;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tableNode = registry.byId("tablePane").domNode;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var borderContainer = registry.byId("borderContainer");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var isOpening = e.target.classList.contains("toggleClosed");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isOpening) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tableNode.style.height = tableNode.dataset.openHeight || "50%";
&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; // Store the old height.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tableNode.dataset.openHeight = tableNode.style.height || [tableNode.clientHeight, "px"].join("");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set to "closed" height.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tableNode.style.height = [gridHeaderNode.clientHeight, "px"].join("");
&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; borderContainer.resize();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the feature table
&amp;nbsp;&amp;nbsp;&amp;nbsp; table = new FeatureTable({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer: layer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields: outFields,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; editable: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; syncSelection: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoomToSelection: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // These fields are hidden by default, but user can turn them back on.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hiddenFields: [
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Direction_Ind",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RouteID",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Begin_ARM",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "End_ARM",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "SRMP_Begin_AB_Ind",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "SRMP_End_AB_Ind",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "SRMP_Date",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LRSDATE",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RelRouteType",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RelRouteQual",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Mid_Arm",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Mid_Mile_Post",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Project_List",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LOC_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;&amp;nbsp;&amp;nbsp; showGridHeader: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map
&amp;nbsp;&amp;nbsp;&amp;nbsp; }, "table");
&amp;nbsp;&amp;nbsp;&amp;nbsp; table.startup();

&amp;nbsp;&amp;nbsp;&amp;nbsp; // 3.15 event handler setup.

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param {DGridRow[]} rows - The rows that were selected
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; table.on("dgrid-select", function (rows) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectOrDeselectFeatures(rows);
&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; * @param {DGridRow[]} rows - The rows that were unselected
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; table.on("dgrid-deselect", function (rows) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectOrDeselectFeatures(rows, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; // 3.16 event handler setup

&amp;nbsp;&amp;nbsp;&amp;nbsp; /////**
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// *
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// * @param {DGridRow[]} rows - The rows that were selected
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////table.on("row-select", function (rows) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&amp;nbsp;&amp;nbsp;&amp;nbsp; selectOrDeselectFeatures(rows);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////});

&amp;nbsp;&amp;nbsp;&amp;nbsp; /////**
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// *
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// * @param {DGridRow[]} rows - The rows that were unselected
&amp;nbsp;&amp;nbsp;&amp;nbsp; //// */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////table.on("row-deselect", function (rows) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&amp;nbsp;&amp;nbsp;&amp;nbsp; selectOrDeselectFeatures(rows, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ////});


&amp;nbsp;&amp;nbsp;&amp;nbsp; // resize panel when table close is toggled.
&amp;nbsp;&amp;nbsp;&amp;nbsp; table.tableCloseButton.addEventListener("click", resizeTablePanel);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:24:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/destroy-featuretable/m-p/709335#M65974</guid>
      <dc:creator>JeffJacobson</dc:creator>
      <dc:date>2021-12-12T06:24:56Z</dc:date>
    </item>
  </channel>
</rss>

