<?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: Can't get export datagrid to csv in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294902#M27065</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are not updating the grid variable which is define above below parser.parse(). Instead, you are creating another locale variable named grid inside the showResults function. Either you can do like Robert as mentioned or dont create a new variable like in the original sample.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt; &lt;SPAN class="comment token"&gt;//Create data store and bind to grid.&lt;/SPAN&gt;
 store &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;ItemFileReadStore&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; data
 &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 
 grid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; registry&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;byId&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"grid"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 grid&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;setStore&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;store&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 14:10:26 GMT</pubDate>
    <dc:creator>thejuskambi</dc:creator>
    <dc:date>2021-12-11T14:10:26Z</dc:date>
    <item>
      <title>Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294892#M27055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I read different threads here for export datagrid to csv. &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.javaexperience.com/dojo-export-data-from-grid/"&gt;http://www.javaexperience.com/dojo-export-data-from-grid/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://livedocs.dojotoolkit.org/dojox/grid/EnhancedGrid/plugins/Exporter"&gt;http://livedocs.dojotoolkit.org/dojox/grid/EnhancedGrid/plugins/Exporter&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my modified JSfiddle: &lt;A href="http://jsfiddle.net/MayJeff00/3fbve7up/" title="http://jsfiddle.net/MayJeff00/3fbve7up/"&gt;Edit fiddle - JSFiddle&lt;/A&gt; &lt;/P&gt;&lt;P&gt;I think the url setting got problem therefore can't get it to export to csv.&amp;nbsp; I also created a file called ExportGrid.html.&amp;nbsp; Can someone help me take a look.&amp;nbsp; I put files here: C:\inetpub\wwwroot\Exportdata\index.html or C:\inetpub\wwwroot\Exportdata]ExportGrid.html&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Feb 2015 18:30:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294892#M27055</guid>
      <dc:creator>MayJeff</dc:creator>
      <dc:date>2015-02-26T18:30:34Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294893#M27056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I updated the jsfiddle: &lt;A href="http://jsfiddle.net/MayJeff00/3fbve7up/2/" title="http://jsfiddle.net/MayJeff00/3fbve7up/2/"&gt;Edit fiddle - JSFiddle&lt;/A&gt; &lt;/P&gt;&lt;P&gt;I only able to export the file first time if I save a file "ExportGrid.cvs" under Exportdata folder before perform the search.&lt;/P&gt;&lt;P&gt;Can someone give me some ideas how to export to csv?&lt;/P&gt;&lt;P&gt;Thanks for your time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Mar 2015 22:23:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294893#M27056</guid>
      <dc:creator>MayJeff</dc:creator>
      <dc:date>2015-03-02T22:23:23Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294894#M27057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;May Jeff,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The first thing you should always do is check that your requires and your variable list right after the requires match. You have several require/variables out of order (which is very common for you...). If you can grasp this basic AMD programming concept then your life will be much easier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The link you posted are good starts to exporting your grid to a CSV but you don't seem to be fully reading these links. in your code you are using the concept in the first link to use an iframe to send the csv data to but did you understand that the author is using a a Java servlet to allow the creation of the csv file on the server and then that is being sent to the iframe?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;“/ExportGrid” is the URL which is a servlet handling the file download&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="color: #000000; text-align: left;"&gt;I also see an issue where you have the printer plugin enabled in the Enhanced grid but not the exporter.&lt;/P&gt;&lt;P style="color: #000000; text-align: left;"&gt;&lt;/P&gt;&lt;P style="color: #000000; text-align: left;"&gt;plugins:{printer: true&lt;STRONG&gt;, exporter: true&lt;/STRONG&gt;}&lt;/P&gt;&lt;P style="color: #000000; text-align: left;"&gt;&lt;/P&gt;&lt;P style="color: #000000; text-align: left;"&gt;Here is your latest fiddle with my corrections. But until you create some server side code for actually generating a true csv file and then returning it to the client to download all you are going to get is an alert and textarea with the csv string like you have in your code currently.&lt;/P&gt;&lt;P style="color: #000000; text-align: left;"&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;
&amp;nbsp; &amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on iOS devices--&amp;gt;
&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"&amp;gt;
&amp;nbsp; &amp;lt;title&amp;gt;Export the DataGrid to CSV / Print &amp;lt;/title&amp;gt;

&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dijit/themes/claro/claro.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/Grid.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/Grid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/claroGrid.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/claroGrid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/esri/css/esri.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; &amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; html,
&amp;nbsp;&amp;nbsp;&amp;nbsp; body {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: 100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; &amp;lt;/style&amp;gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; &amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; require([
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/FindTask",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/FindParameters",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleMarkerSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleLineSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleFillSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/io/iframe",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/Color",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/on",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/registry",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/array",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/connect",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/DataGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/data/ItemFileReadStore",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/form/Button",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/parser",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/store/Memory",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/data/ItemFileWriteStore",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dgrid/OnDemandGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/EnhancedGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/enhanced/plugins/exporter/CSVWriter",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/enhanced/plugins/Printer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dgrid/Selection",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/declare",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/BorderContainer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/ContentPane",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ], function (
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map, FindTask, FindParameters, SimpleMarkerSymbol, SimpleLineSymbol, SimpleFillSymbol, ioIframe,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color, on, dom, registry, arrayUtils, connect, DataGrid, ItemFileReadStore, Button, parser, Memory,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemFileWriteStore, Grid, EnhancedGrid, CSVWriter, Printer, Selection, declare, BorderContainer, ContentPane

&amp;nbsp;&amp;nbsp;&amp;nbsp; ) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var findTask, findParams;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map, center, zoom;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var grid, store;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parser.parse();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId("search").on("click", doFind);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center = [-83.266, 42.568];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom = 11;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "streets",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: center,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: zoom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create Find Task using the URL of the map service to search
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findTask = new FindTask("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/TaxParcel/TaxParcelQuery/MapServer/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/TaxParcel/TaxParcelQuery/MapServer/&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.on("load", function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create the find parameters
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams = new FindParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.layerIds = [0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchFields = ["OWNERNME1", "OWNERNME2"];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.outSpatialReference = map.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("find sr: ", findParams.outSpatialReference);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function doFind() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set the search text to the value in the box
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchText = dom.byId("ownerName").value;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findTask.execute(findParams, showResults);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function showResults(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //This function works with an array of FindResult that the task returns
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var symbol = new SimpleFillSymbol(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol.STYLE_SOLID,
&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([98, 194, 204]), 2),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Color([98, 194, 204, 0.5])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create array of attributes
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var items = arrayUtils.map(results, function (result) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = result.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphic.setSymbol(symbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(graphic);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result.feature.attributes;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create data object to be used in store
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var data = {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifier: "PARCELID", //This field needs to have unique values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: "PARCELID", //Name field for display. Not pertinent to a grid but may be used elsewhere.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: items
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create data store and bind to grid.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; store = new ItemFileReadStore({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid = registry.byId("grid");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.setStore(store);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.on("rowclick", onRowClickHandler);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Zoom back to the initial map extent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.centerAndZoom(center, zoom);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Zoom to the parcel when the user clicks a row
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function onRowClickHandler(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var clickedTaxLotId = evt.grid.getItem(evt.rowIndex).PARCELID;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectedTaxLot = arrayUtils.filter(map.graphics.graphics, function (graphic) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((graphic.attributes) &amp;amp;&amp;amp; graphic.attributes.PARCELID === clickedTaxLotId);
&amp;nbsp;&amp;nbsp;&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 (selectedTaxLot.length) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setExtent(selectedTaxLot[0].geometry.getExtent(), 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; on(dojo.byId("exportAll"), "click", function () {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.exportGrid("csv", function (str) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe.create('exportFrame', '', '');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe._currentDfd = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe.send({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: "/ExportGrid.csv",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: {data: str}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(str);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById("output").value = str;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dojo Methods
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on(dojo.byId("printAll"), "click", function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.printGrid({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Print Grid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cssFiles: []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 clear() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newStore = new dojo.data.ItemFileReadStore({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifier: "",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&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 grid = dijit.byId("grid");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.setStore(newStore);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body class="claro"&amp;gt;
&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline'" style="width:100%;height:100%;margin:0;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'top'" style="height:80px;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Owner name:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="text" id="ownerName" size="60" value="Katz" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="search" data-dojo-type="dijit.form.Button" type="button" data-dojo-attach-point="button"&amp;gt;Search
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="clear" data-dojo-type="dijit.form.Button" type="button" data-dojo-attach-point="button"&amp;gt;Clear
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="exportAll" data-dojo-type="dijit.form.Button" type="button"&amp;gt;Export all to CSV&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="printAll" data-dojo-type="dijit.form.Button" type="button"&amp;gt;Print All&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="map" data-dojo-props="region:'center'" data-dojo-type="dijit/layout/ContentPane" style="border:1px solid #000;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom'" style="height:150px;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table data-dojo-type="dojox/grid/EnhancedGrid" data-dojo-id="grid" id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px', plugins:{printer: true, exporter: true}"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;thead&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&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;th field="PARCELID"&amp;gt;Parcel ID&amp;lt;/th&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;th field="OWNERNME1"&amp;gt;Owner 1&amp;lt;/th&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;th field="OWNERNME2"&amp;gt;Owner 2&amp;lt;/th&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;th field="RESYRBLT "&amp;gt;Year Built&amp;lt;/th&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;th field="SITEADDRESS" width="100%"&amp;gt;Address&amp;lt;/th&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/thead&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;textarea id="output" style="width: 560px;height: 680px;" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:10:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294894#M27057</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2021-12-11T14:10:17Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294895#M27058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;May Jeff,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attached I have the CSVHandler.ashx code that you can add to your web server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The steps are simple&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Unzip the attached file and place in a new folder your create under "c:\inetpub\wwwroot\" called "HttpHandlers"&lt;/LI&gt;&lt;LI&gt;In IIS Manager right click on "Default Web Site" and choose "Add Application"&lt;/LI&gt;&lt;LI&gt;for the Alias type "HttpHandlers"&lt;/LI&gt;&lt;LI&gt;for Physical path browse to "c:\inetpub\wwwroot\HttpHandlers"&lt;/LI&gt;&lt;LI&gt;click OK&lt;/LI&gt;&lt;LI&gt;Now you can add some simple code in your js app like this:&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.exportGrid(&lt;SPAN class="string"&gt;"csv", &lt;SPAN class="keyword"&gt;function&lt;/SPAN&gt; (str) {&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe.create(&lt;SPAN class="string"&gt;'exportFrame', '', '');&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe._currentDfd = &lt;SPAN class="keyword"&gt;null;&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioIframe.send({ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: &lt;SPAN class="string"&gt;"/HttpHandlers/CSVHandler.ashx",&amp;nbsp; &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; content: {data: str, filename: &lt;SPAN class="string"&gt;'MyExport.csv'}&amp;nbsp; &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; }); &lt;/PRE&gt;&lt;P&gt;Notice the url is /HttpHandlers/CSVHandler.ashx&lt;/P&gt;&lt;P&gt;the content contains your csv str and the desired output file name for the download.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:10:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294895#M27058</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2021-12-11T14:10:20Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294896#M27059</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert,&lt;/P&gt;&lt;P&gt;Thank you so much for taking your time for this thread.&amp;nbsp; I update the js code and also follow your steps for setting up the server site.&lt;/P&gt;&lt;P&gt;Still got a small issue.&amp;nbsp; When I run a search by "Katz", I able to export the csv file on the first time and MyExport.csv showed up.&amp;nbsp; Then if I perform a search sometimes else like "Allen" then got the message like this "&lt;/P&gt;&lt;P&gt;GET &lt;A href="http://myserver.com/HttpHandlers/CSVHandler.ashx?data=Parcel%20…20G%20Allen%22%2CNull%2C1957%2C%22730%20Ivy%20Ln%22&amp;amp;filename=MyExport.csv"&gt;http://myserver.com/HttpHandlers/CSVHandler.ashx?data=Parcel%20…20G%20Allen%22%2CNull%2C1957%2C%22730%20Ivy%20Ln%22&amp;amp;filename=MyExport.csv&lt;/A&gt;&amp;amp; 404 (Not Found)".&amp;nbsp; Therefore, export works on the first time to download the csv file if perform the search by "Katz" and not working on second try.&lt;/P&gt;&lt;P&gt;Do you think is server site setting issue?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Mar 2015 20:20:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294896#M27059</guid>
      <dc:creator>MayJeff</dc:creator>
      <dc:date>2015-03-03T20:20:10Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294897#M27060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;May Jeff,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; OK, I found the issue and have switched to dojo/request/iframe as dojo/io/iframe is depreciated. I am also attaching a updated ashx file that now uses POST instead of GET as eventually you would have run into an issue with the amount of rows you were converting. I have tested this and you can download the .csv as many time as you want.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;
&amp;nbsp; &amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on iOS devices--&amp;gt;
&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"&amp;gt;
&amp;nbsp; &amp;lt;title&amp;gt;Export the DataGrid to CSV / Print &amp;lt;/title&amp;gt;

&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dijit/themes/claro/claro.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/Grid.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/Grid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/claroGrid.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/dojo/dojox/grid/resources/claroGrid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/js/esri/css/esri.css" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/js/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; &amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; html,
&amp;nbsp;&amp;nbsp;&amp;nbsp; body {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: 100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; &amp;lt;/style&amp;gt;
&lt;SPAN&gt;&amp;nbsp; &amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://js.arcgis.com/3.10/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://js.arcgis.com/3.10/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; &amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; require([
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/FindTask",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/FindParameters",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleMarkerSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleLineSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleFillSymbol",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/request/iframe",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/Color",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/on",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/registry",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/array",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/connect",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/DataGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/data/ItemFileReadStore",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/form/Button",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/parser",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/store/Memory",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/data/ItemFileWriteStore",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dgrid/OnDemandGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/EnhancedGrid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/enhanced/plugins/exporter/CSVWriter",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojox/grid/enhanced/plugins/Printer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dgrid/Selection",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/_base/declare",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/BorderContainer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/ContentPane",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ], function (
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map, FindTask, FindParameters, SimpleMarkerSymbol, SimpleLineSymbol, SimpleFillSymbol, iframe,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color, on, dom, registry, arrayUtils, connect, DataGrid, ItemFileReadStore, Button, parser, Memory,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemFileWriteStore, Grid, EnhancedGrid, CSVWriter, Printer, Selection, declare, BorderContainer, ContentPane

&amp;nbsp;&amp;nbsp;&amp;nbsp; ) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var findTask, findParams;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map, center, zoom;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var grid, store, dfd;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parser.parse();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId("search").on("click", doFind);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId("clear").on("click", clear);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center = [-83.266, 42.568];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom = 11;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "streets",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: center,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: zoom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create Find Task using the URL of the map service to search
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findTask = new FindTask("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/TaxParcel/TaxParcelQuery/MapServer/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/TaxParcel/TaxParcelQuery/MapServer/&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.on("load", function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create the find parameters
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams = new FindParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.layerIds = [0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchFields = ["OWNERNME1", "OWNERNME2"];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.outSpatialReference = map.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("find sr: ", findParams.outSpatialReference);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function doFind() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set the search text to the value in the box
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchText = dom.byId("ownerName").value;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findTask.execute(findParams, showResults);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function showResults(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //This function works with an array of FindResult that the task returns
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var symbol = new SimpleFillSymbol(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol.STYLE_SOLID,
&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([98, 194, 204]), 2),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Color([98, 194, 204, 0.5])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create array of attributes
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var items = arrayUtils.map(results, function (result) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = result.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphic.setSymbol(symbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(graphic);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result.feature.attributes;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create data object to be used in store
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var data = {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifier: "PARCELID", //This field needs to have unique values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: "PARCELID", //Name field for display. Not pertinent to a grid but may be used elsewhere.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: items
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create data store and bind to grid.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; store = new ItemFileReadStore({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid = registry.byId("grid");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.setStore(store);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.on("rowclick", onRowClickHandler);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Zoom back to the initial map extent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.centerAndZoom(center, zoom);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Zoom to the parcel when the user clicks a row
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function onRowClickHandler(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var clickedTaxLotId = evt.grid.getItem(evt.rowIndex).PARCELID;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectedTaxLot = arrayUtils.filter(map.graphics.graphics, function (graphic) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((graphic.attributes) &amp;amp;&amp;amp; graphic.attributes.PARCELID === clickedTaxLotId);
&amp;nbsp;&amp;nbsp;&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 (selectedTaxLot.length) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setExtent(selectedTaxLot[0].geometry.getExtent(), 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; on(dojo.byId("exportAll"), "click", function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileName = dom.byId("ownerName").value.replace(' ', '_');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.exportGrid("csv", function (str) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(dfd){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dfd.cancel();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dfd = iframe.post("/HttpHandlers/CSVHandler.ashx", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; preventCache: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: {data: str},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query: {filename: fileName + '.csv'}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dojo Methods
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on(dojo.byId("printAll"), "click", function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.printGrid({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Print Grid",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cssFiles: []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 clear() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newStore = new dojo.data.ItemFileReadStore({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifier: "",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&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 grid = dijit.byId("grid");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.setStore(newStore);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body class="claro"&amp;gt;
&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline'" style="width:100%;height:100%;margin:0;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'top'" style="height:30px;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Owner name:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="text" id="ownerName" size="60" value="Katz" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="search" data-dojo-type="dijit/form/Button" type="button"&amp;gt;Search&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="clear" data-dojo-type="dijit/form/Button" type="button"&amp;gt;Clear&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="exportAll" data-dojo-type="dijit/form/Button" type="button"&amp;gt;Export all to CSV&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button id="printAll" data-dojo-type="dijit/form/Button" type="button"&amp;gt;Print All&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="map" data-dojo-props="region:'center'" data-dojo-type="dijit/layout/ContentPane" style="border:1px solid #000;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom'" style="height:150px;"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table data-dojo-type="dojox/grid/EnhancedGrid" data-dojo-id="grid" id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px', plugins:{printer: true, exporter: true}"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;thead&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&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;th field="PARCELID"&amp;gt;Parcel ID&amp;lt;/th&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;th field="OWNERNME1"&amp;gt;Owner 1&amp;lt;/th&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;th field="OWNERNME2"&amp;gt;Owner 2&amp;lt;/th&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;th field="RESYRBLT "&amp;gt;Year Built&amp;lt;/th&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;th field="SITEADDRESS" width="100%"&amp;gt;Address&amp;lt;/th&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/thead&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;nbsp; &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:10:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294897#M27060</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2021-12-11T14:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294898#M27061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can't complete my task without your help.&amp;nbsp; Thank you very much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Mar 2015 13:28:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294898#M27061</guid>
      <dc:creator>MayJeff</dc:creator>
      <dc:date>2015-03-04T13:28:05Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294899#M27062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi May,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am also excited that Robert solved this question. I will try to apply this solution to my application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Robert,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your work a lot!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hank&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Mar 2015 15:30:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294899#M27062</guid>
      <dc:creator>Chang-HengYang</dc:creator>
      <dc:date>2015-03-04T15:30:47Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294900#M27063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Robert,&lt;/P&gt;&lt;P&gt;I'm incorporating your solution above and seem to be having problems calling the grid object. I'm getting the error &lt;SPAN style="color: #ff0000;"&gt;Cannot read property 'exportGrid' of undefined&lt;/SPAN&gt; (see full code below). I can't seem to figure it out. Please help.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;James.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;BR /&gt;&amp;lt;html&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;&lt;BR /&gt; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/&amp;gt;&lt;BR /&gt; &amp;lt;title&amp;gt;On Premise Account Mapping&amp;lt;/title&amp;gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2Fesri%2Fthemes%2Fcalcite%2Fdijit%2Fcalcite.css" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/esri/themes/calcite/dijit/calcite.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2Fdijit%2Fthemes%2Fclaro%2Fclaro.css" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2Fesri%2Fcss%2Fesri.css" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2Fdojox%2Fgrid%2Fresources%2FGrid.css" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/dojox/grid/resources/Grid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2Fdojox%2Fgrid%2Fresources%2FclaroGrid.css" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/dojox/grid/resources/claroGrid.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;style&amp;gt;&lt;BR /&gt; html, body, #mapDiv {&lt;BR /&gt; padding:0;&lt;BR /&gt; margin:0;&lt;BR /&gt; height:100%;&lt;BR /&gt; }&lt;BR /&gt; #rightPane {&lt;BR /&gt; padding: 0;&lt;BR /&gt; width:250px;&lt;BR /&gt; }&lt;BR /&gt; button {&lt;BR /&gt; display: block;&lt;BR /&gt; }&lt;BR /&gt; #messages {&lt;BR /&gt; padding-top: 40px;&lt;BR /&gt; }&lt;BR /&gt; #search {&lt;BR /&gt; display: block;&lt;BR /&gt; position: absolute;&lt;BR /&gt; z-index: 2;&lt;BR /&gt; top: 20px;&lt;BR /&gt; left: 74px;&lt;BR /&gt; } &lt;BR /&gt; &amp;lt;/style&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.20%2F" rel="nofollow" target="_blank"&gt;https://js.arcgis.com/3.20/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt; &amp;lt;script&amp;gt;&lt;BR /&gt; var map,tb;&lt;BR /&gt; var graphic;&lt;BR /&gt; var currLocation;&lt;BR /&gt; var watchId;&lt;BR /&gt; require([&lt;BR /&gt; "esri/map",&lt;BR /&gt; "esri/dijit/Search",&lt;BR /&gt; "esri/geometry/Point",&lt;BR /&gt; "esri/dijit/Legend",&lt;BR /&gt; "esri/layers/ArcGISDynamicMapServiceLayer",&lt;BR /&gt; "esri/toolbars/draw",&lt;BR /&gt; "esri/Color",&lt;BR /&gt; "esri/symbols/SimpleMarkerSymbol",&lt;BR /&gt; "esri/symbols/SimpleLineSymbol",&lt;BR /&gt; "esri/symbols/SimpleFillSymbol",&lt;BR /&gt; "esri/symbols/PictureFillSymbol",&lt;BR /&gt; "esri/symbols/CartographicLineSymbol",&lt;BR /&gt; "esri/layers/FeatureLayer",&lt;BR /&gt; "esri/graphic",&lt;BR /&gt; "esri/tasks/query",&lt;BR /&gt; "esri/tasks/QueryTask",&lt;BR /&gt; "esri/InfoTemplate",&lt;BR /&gt; &lt;BR /&gt; "dojox/grid/DataGrid",&lt;BR /&gt; "dojo/data/ItemFileReadStore",&lt;BR /&gt; "dijit/form/Button", &lt;BR /&gt; "dojo/store/Memory", &lt;BR /&gt; "dojo/data/ItemFileWriteStore", &lt;BR /&gt; "dgrid/OnDemandGrid", &lt;BR /&gt; "dojox/grid/EnhancedGrid", &lt;BR /&gt; "dojox/grid/enhanced/plugins/exporter/CSVWriter", &lt;BR /&gt; "dojox/grid/enhanced/plugins/Printer", &lt;BR /&gt; "dgrid/Selection", &lt;BR /&gt; "dojo/request/iframe", &lt;BR /&gt; "dojo/_base/declare",&lt;BR /&gt; "dojo/promise/all",&lt;BR /&gt; "dojo/_base/array",&lt;BR /&gt; "dojo/_base/connect", &lt;BR /&gt; "dijit/registry", &lt;BR /&gt; &lt;BR /&gt; "dojo/dom",&lt;BR /&gt; "dojo/on",&lt;BR /&gt; "dojo/parser",&lt;BR /&gt; "dijit/layout/BorderContainer",&lt;BR /&gt; "dijit/layout/ContentPane",&lt;BR /&gt; "dijit/layout/AccordionContainer",&lt;BR /&gt; "dojo/domReady!"],&lt;/P&gt;&lt;P&gt;function (&lt;BR /&gt; Map,&lt;BR /&gt; Search,&lt;BR /&gt; Point,&lt;BR /&gt; Legend,&lt;BR /&gt; ArcGISDynamicMapServiceLayer,&lt;BR /&gt; Draw,&lt;BR /&gt; Color, &lt;BR /&gt; SimpleMarkerSymbol,&lt;BR /&gt; SimpleLineSymbol,&lt;BR /&gt; SimpleFillSymbol,&lt;BR /&gt; PictureFillSymbol,&lt;BR /&gt; CartographicLineSymbol, &lt;BR /&gt; FeatureLayer,&lt;BR /&gt; Graphic,&lt;BR /&gt; Query,&lt;BR /&gt; QueryTask,&lt;BR /&gt; InfoTemplate, &lt;BR /&gt; &lt;BR /&gt; DataGrid,&lt;BR /&gt; ItemFileReadStore,&lt;BR /&gt; Button, &lt;BR /&gt; Memory, &lt;BR /&gt; ItemFileWriteStore, &lt;BR /&gt; Grid, &lt;BR /&gt; EnhancedGrid, &lt;BR /&gt; CSVWriter, &lt;BR /&gt; Printer, &lt;BR /&gt; Selection, &lt;BR /&gt; iframe,&lt;BR /&gt; declare, &lt;BR /&gt; All,&lt;BR /&gt; arrayUtils,&lt;BR /&gt; connect,&lt;BR /&gt; registry,&lt;/P&gt;&lt;P&gt;dom,&lt;BR /&gt; on,&lt;BR /&gt; parser) {&lt;/P&gt;&lt;P&gt;var grid, store, dfd; &lt;BR /&gt; parser.parse(); &lt;BR /&gt; &lt;BR /&gt;&lt;SPAN&gt; // markerSymbol is used for point and multipoint, see &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fraphaeljs.com%2Ficons%2F%23talkq" rel="nofollow" target="_blank"&gt;http://raphaeljs.com/icons/#talkq&lt;/A&gt;&lt;SPAN&gt; for more examples&lt;/SPAN&gt;&lt;BR /&gt; var markerSymbol = new SimpleMarkerSymbol();&lt;BR /&gt; markerSymbol.setPath("M16,4.938c-7.732,0-14,4.701-14,10.5c0,1.981,0.741,3.833,2.016,5.414L2,25.272l5.613-1.44c2.339,1.316,5.237,2.106,8.387,2.106c7.732,0,14-4.701,14-10.5S23.732,4.938,16,4.938zM16.868,21.375h-1.969v-1.889h1.969V21.375zM16.772,18.094h-1.777l-0.176-8.083h2.113L16.772,18.094z");&lt;BR /&gt; markerSymbol.setColor(new Color("#00FFFF"));&lt;/P&gt;&lt;P&gt;// lineSymbol used for freehand polyline, polyline and line.&lt;BR /&gt; var lineSymbol = new CartographicLineSymbol(&lt;BR /&gt; CartographicLineSymbol.STYLE_SOLID,&lt;BR /&gt; new Color([255, 0, 0]), 10,&lt;BR /&gt; CartographicLineSymbol.CAP_ROUND,&lt;BR /&gt; CartographicLineSymbol.JOIN_MITER, 5);&lt;/P&gt;&lt;P&gt;// fill symbol used for extent, polygon and freehand polygon&lt;BR /&gt; var fillSymbol = new SimpleFillSymbol();&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; map = new Map("mapDiv", {&lt;BR /&gt; basemap: "gray",&lt;BR /&gt; center: [-118.48, 34.013],&lt;BR /&gt; zoom: 2&lt;BR /&gt; });&lt;BR /&gt; map.on("load", initFunc);&lt;BR /&gt; map.on("load", initToolbar);&lt;BR /&gt; //add the legend&lt;BR /&gt; map.on("layers-add-result", function (evt) {&lt;BR /&gt; var layerInfo = arrayUtils.map(evt.layers, function (layer, index) {&lt;BR /&gt; return {layer:layer.layer, title:layer.layer.name};&lt;BR /&gt; });&lt;BR /&gt; if (layerInfo.length &amp;gt; 0) {&lt;BR /&gt; var legendDijit = new Legend({&lt;BR /&gt; map: map,&lt;BR /&gt; layerInfos: layerInfo&lt;BR /&gt; }, "legendDiv");&lt;BR /&gt; legendDijit.startup();&lt;BR /&gt; }&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt; var featureLayer1 = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fmaps.redbull.com%2Fredbullgis%2Frest%2Fservices%2FSales%2FBullMap%2FMapServer%2F0" rel="nofollow" target="_blank"&gt;https://maps.redbull.com/redbullgis/rest/services/Sales/BullMap/MapServer/0&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;&lt;BR /&gt; mode: FeatureLayer.MODE_SELECTION,&lt;BR /&gt; infoTemplate: new InfoTemplate("MA: ${Name}", "${*}"),&lt;BR /&gt; outFields: ["*"]&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;var featureLayer2 = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fmaps.redbull.com%2Fredbullgis%2Frest%2Fservices%2FSales%2FBullMap%2FMapServer%2F2" rel="nofollow" target="_blank"&gt;https://maps.redbull.com/redbullgis/rest/services/Sales/BullMap/MapServer/2&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;&lt;BR /&gt; mode: FeatureLayer.MODE_SELECTION,&lt;BR /&gt; infoTemplate: new InfoTemplate("NA: ${Name}", "${*}"),&lt;BR /&gt; outFields: ["*"]&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;var featureLayer3 = new FeatureLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fmaps.redbull.com%2Fredbullgis%2Frest%2Fservices%2FSales%2FBullMap%2FMapServer%2F3" rel="nofollow" target="_blank"&gt;https://maps.redbull.com/redbullgis/rest/services/Sales/BullMap/MapServer/3&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;&lt;BR /&gt; mode: FeatureLayer.MODE_SELECTION,&lt;BR /&gt; infoTemplate: new InfoTemplate("DPM: ${Name}", "${*}"),&lt;BR /&gt; outFields: ["*"]&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;var dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fmaps.redbull.com%2Fredbullgis%2Frest%2Fservices%2FSales%2FBullMap%2FMapServer" rel="nofollow" target="_blank"&gt;https://maps.redbull.com/redbullgis/rest/services/Sales/BullMap/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;&lt;BR /&gt; //"opacity" : 0.5,&lt;BR /&gt; //"imageParameters" : imageParameters&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;map.addLayers([featureLayer1, featureLayer2, featureLayer3, dynamicMapServiceLayer]);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; function orientationChanged() {&lt;BR /&gt; if(map){&lt;BR /&gt; map.reposition();&lt;BR /&gt; map.resize();&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;function initFunc(map) {&lt;BR /&gt; if( navigator.geolocation ) {&lt;BR /&gt; navigator.geolocation.getCurrentPosition(zoomToLocation, locationError);&lt;BR /&gt; watchId = navigator.geolocation.watchPosition(showLocation, locationError);&lt;BR /&gt; } else {&lt;BR /&gt;&lt;SPAN&gt; alert("Browser doesn't support Geolocation. Visit &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fcaniuse.com" rel="nofollow" target="_blank"&gt;http://caniuse.com&lt;/A&gt;&lt;SPAN&gt; to see browser support for the Geolocation API.");&lt;/SPAN&gt;&lt;BR /&gt; }&lt;BR /&gt; initToolbar;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;function locationError(error) {&lt;BR /&gt; //error occurred so stop watchPosition&lt;BR /&gt; if( navigator.geolocation ) {&lt;BR /&gt; navigator.geolocation.clearWatch(watchId);&lt;BR /&gt; }&lt;BR /&gt; switch (error.code) {&lt;BR /&gt; case error.PERMISSION_DENIED:&lt;BR /&gt; alert("Location not provided");&lt;BR /&gt; break;&lt;BR /&gt; &lt;BR /&gt; case error.POSITION_UNAVAILABLE:&lt;BR /&gt; alert("Current location not available");&lt;BR /&gt; break;&lt;BR /&gt; &lt;BR /&gt; case error.TIMEOUT:&lt;BR /&gt; alert("Timeout");&lt;BR /&gt; break;&lt;BR /&gt; &lt;BR /&gt; default:&lt;BR /&gt; alert("unknown error");&lt;BR /&gt; break;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function zoomToLocation(location) {&lt;BR /&gt; var pt = new Point(location.coords.longitude, location.coords.latitude);&lt;BR /&gt; AddGraphic1(pt);&lt;BR /&gt; map.centerAndZoom(pt, 12);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function showLocation(location) {&lt;BR /&gt; //zoom to the users location and add a graphic&lt;BR /&gt; var pt = new Point(location.coords.longitude, location.coords.latitude);&lt;BR /&gt; if ( !graphic ) {&lt;BR /&gt; AddGraphic1(pt);&lt;BR /&gt; } else { // move the graphic if it already exists&lt;BR /&gt; graphic.setGeometry(pt);&lt;BR /&gt; }&lt;BR /&gt; map.centerAt(pt);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function AddGraphic1(pt){&lt;BR /&gt; var symbol = new SimpleMarkerSymbol(&lt;BR /&gt; SimpleMarkerSymbol.STYLE_CIRCLE,&lt;BR /&gt; 12,&lt;BR /&gt; new SimpleLineSymbol(&lt;BR /&gt; SimpleLineSymbol.STYLE_SOLID,&lt;BR /&gt; new Color([210, 105, 30, 0.5]),&lt;BR /&gt; 8&lt;BR /&gt; ),&lt;BR /&gt; new Color([210, 105, 30, 0.9])&lt;BR /&gt; );&lt;BR /&gt; graphic = new Graphic(pt, symbol);&lt;BR /&gt; map.graphics.add(graphic);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; function initToolbar() {&lt;BR /&gt; tb = new Draw(map);&lt;BR /&gt; tb.on("draw-end", addGraphic);&lt;BR /&gt; &lt;BR /&gt; // event delegation so a click handler is not&lt;BR /&gt; // needed for each individual button&lt;BR /&gt; on(dom.byId("info"), "click", function (evt) {&lt;BR /&gt; if (evt.target.id === "info") {&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; var tool = evt.target.id.toLowerCase();&lt;BR /&gt; map.disableMapNavigation();&lt;BR /&gt; tb.activate(tool);&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function addGraphic(evt) {&lt;BR /&gt; //deactivate the toolbar and clear existing graphics&lt;BR /&gt; tb.deactivate();&lt;BR /&gt; map.enableMapNavigation();&lt;BR /&gt; map.graphics.clear();&lt;BR /&gt; &lt;BR /&gt; // figure out which symbol to use&lt;BR /&gt; var symbol;&lt;BR /&gt; if (evt.geometry.type === "point" || evt.geometry.type === "multipoint") {&lt;BR /&gt; symbol = markerSymbol;&lt;BR /&gt; } else if (evt.geometry.type === "line" || evt.geometry.type === "polyline") {&lt;BR /&gt; symbol = lineSymbol;&lt;BR /&gt; } else {&lt;BR /&gt; symbol = fillSymbol;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; map.graphics.add(new Graphic(evt.geometry, symbol));&lt;BR /&gt; queryMapService(evt.geometry);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function queryMapService(Geom) {&lt;BR /&gt; var promises = [];&lt;BR /&gt; &lt;BR /&gt; var query = new Query();&lt;BR /&gt; query.returnGeometry = false;&lt;BR /&gt; query.outFields = ["*"];&lt;BR /&gt; query.geometry = Geom;&lt;BR /&gt; promises.push(featureLayer1.selectFeatures(query, FeatureLayer.SELECTION_NEW));&lt;BR /&gt; promises.push(featureLayer2.selectFeatures(query, FeatureLayer.SELECTION_NEW));&lt;BR /&gt; promises.push(featureLayer3.selectFeatures(query, FeatureLayer.SELECTION_NEW));&lt;BR /&gt; var allPromises = new All(promises);&lt;BR /&gt; allPromises.then(function (r) {&lt;BR /&gt; showResults(r);&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; function showResults(results) {&lt;BR /&gt; var featureLayer1Message = results[0].length;&lt;BR /&gt; var featureLayer2Message = results[1].length;&lt;BR /&gt; var featureLayer3Message = results[2].length;&lt;BR /&gt; &lt;BR /&gt; var count = 0;&lt;BR /&gt; for (var i = 0; i &amp;lt; results.length; i++) {&lt;BR /&gt; count = count + results&lt;I&gt;.length;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; dom.byId("messages").innerHTML = "Total stores selected: &amp;lt;b&amp;gt;" + count + "&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;nbsp;&amp;nbsp;Musketeer: &amp;lt;b&amp;gt;" + featureLayer1Message + "&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;nbsp;&amp;nbsp;National: &amp;lt;b&amp;gt;" + featureLayer2Message + "&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;nbsp;&amp;nbsp;DP Managed: &amp;lt;b&amp;gt;" + featureLayer3Message + "&amp;lt;/b&amp;gt;";&lt;BR /&gt; &lt;BR /&gt; //create array of attributes &lt;BR /&gt; var items = arrayUtils.map(results, function (result) {&lt;BR /&gt; return result;&lt;BR /&gt; });&lt;BR /&gt; &lt;BR /&gt; var allItems = [];&lt;BR /&gt; &lt;BR /&gt; arrayUtils.map(items[0], function (item) {&lt;BR /&gt; allItems.push(item.attributes);&lt;BR /&gt; })&lt;BR /&gt; &lt;BR /&gt; arrayUtils.map(items[1], function (item) {&lt;BR /&gt; allItems.push(item.attributes);&lt;BR /&gt; })&lt;BR /&gt; &lt;BR /&gt; arrayUtils.map(items[2], function (item) {&lt;BR /&gt; allItems.push(item.attributes);&lt;BR /&gt; })&lt;BR /&gt; &lt;BR /&gt; var data = {&lt;BR /&gt; identifier: "OBJECTID", //This field needs to have unique values&lt;BR /&gt; label: "OBJECTID", //Name field for display. Not pertinent to a grid but may be used elsewhere.&lt;BR /&gt; items: allItems&lt;BR /&gt; };&lt;BR /&gt; &lt;BR /&gt; //Create data store and bind to grid.&lt;BR /&gt; store = new ItemFileReadStore({&lt;BR /&gt; data: data&lt;BR /&gt; });&lt;BR /&gt; &lt;BR /&gt; var grid = registry.byId("grid");&lt;BR /&gt; grid.setStore(store);&lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; var search = new Search({&lt;BR /&gt; map: map&lt;BR /&gt; }, "search");&lt;BR /&gt; search.startup();&lt;/I&gt;&lt;/P&gt;&lt;P&gt;on(dojo.byId("exportAll"), "click", function () { &lt;BR /&gt; var fileName = "test"; //dom.byId("grid").value.replace(' ', '_'); &lt;BR /&gt; grid.exportGrid("csv", function (str) { &lt;BR /&gt; if(dfd){ &lt;BR /&gt; dfd.cancel(); &lt;BR /&gt; } &lt;BR /&gt; dfd = iframe.post("/HttpHandlers/CSVHandler.ashx", { &lt;BR /&gt; preventCache: true, &lt;BR /&gt; data: {data: str}, &lt;BR /&gt; query: {filename: fileName + '.csv'} &lt;BR /&gt; }); &lt;BR /&gt; }); &lt;BR /&gt; }); &lt;BR /&gt; &lt;BR /&gt; //dojo Methods &lt;BR /&gt; on(dojo.byId("printAll"), "click", function () { &lt;BR /&gt; grid.printGrid({ &lt;BR /&gt; title: "Print Grid", &lt;BR /&gt; cssFiles: [] &lt;BR /&gt; }); &lt;BR /&gt; }); &lt;BR /&gt; &lt;BR /&gt; function clear() { &lt;BR /&gt; var newStore = new dojo.data.ItemFileReadStore({ &lt;BR /&gt; data: { &lt;BR /&gt; identifier: "", &lt;BR /&gt; items: [] &lt;BR /&gt; } &lt;BR /&gt; }); &lt;BR /&gt; var grid = dijit.byId("grid"); &lt;BR /&gt; grid.setStore(newStore); &lt;BR /&gt; } &lt;BR /&gt; &lt;BR /&gt; });&lt;BR /&gt; &amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;lt;body class='claro'&amp;gt;&lt;BR /&gt;&amp;lt;div id="mainWindow" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design:'headline',gutters:false" style="width:100%; height:100%;"&amp;gt;&lt;BR /&gt; &amp;lt;div id="mapDiv" class="shadow roundedCorners" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'"&amp;gt;&amp;lt;div class="calcite" id="search"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom'" style="height:150px;"&amp;gt;&lt;BR /&gt; &amp;lt;table data-dojo-type="dojox/grid/EnhancedGrid" data-dojo-id="grid" id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px', plugins:{printer: true, exporter: true}"&amp;gt;&lt;BR /&gt; &amp;lt;thead&amp;gt;&lt;BR /&gt; &amp;lt;tr&amp;gt;&lt;BR /&gt; &amp;lt;th fields="StoreID,store_id" width="100px"&amp;gt;Store ID&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th fields="Name,store_name" width="150px"&amp;gt;Name&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th fields="Address,store_addr1" width="200px"&amp;gt;Address&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th fields="ACV,acv_tier_code"&amp;gt;ACV&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th fields="Priority,onprem_store_priority"&amp;gt;Priority&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th fields="Status,store_status"&amp;gt;Status&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;th field="YTDTotalSUs,ts_ytd"&amp;gt;YTD Total&amp;lt;/th&amp;gt;&lt;BR /&gt; &amp;lt;/tr&amp;gt;&lt;BR /&gt; &amp;lt;/thead&amp;gt;&lt;BR /&gt; &amp;lt;/table&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;div class="roundedCorners" data-dojo-props="region:'right'" data-dojo-type="dijit.layout.ContentPane" id="rightPane"&amp;gt;&lt;BR /&gt; &amp;lt;div data-dojo-type="dijit.layout.AccordionContainer"&amp;gt;&lt;BR /&gt; &amp;lt;div data-dojo-props="title:'Create Territory'" data-dojo-type="dijit.layout.ContentPane" id='graphics'&amp;gt;&lt;BR /&gt; &amp;lt;div id="info"&amp;gt;&lt;BR /&gt; &amp;lt;div&amp;gt;&lt;BR /&gt; Select a shape then draw on the map to create a territory&lt;BR /&gt; &amp;lt;/div&amp;gt;&amp;lt;button id="Extent"&amp;gt;Rectangle&amp;lt;/button&amp;gt; &amp;lt;button id="Circle"&amp;gt;Circle&amp;lt;/button&amp;gt; &amp;lt;button id="Ellipse"&amp;gt;Ellipse&amp;lt;/button&amp;gt; &amp;lt;button id="FreehandPolygon"&amp;gt;Freehand Polygon&amp;lt;/button&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;div id="messages"&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;button data-dojo-type="dijit/form/Button" id="exportAll" type="button"&amp;gt;Export all to CSV&amp;lt;/button&amp;gt; &lt;BR /&gt; &amp;lt;button data-dojo-type="dijit/form/Button" id="printAll" type="button"&amp;gt;Print All&amp;lt;/button&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;div data-dojo-props="title:'Legend'" data-dojo-type="dijit/layout/ContentPane" id="legendPane"&amp;gt;&lt;BR /&gt; &amp;lt;div id="legendDiv"&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Apr 2017 14:23:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294900#M27063</guid>
      <dc:creator>JamesOsundwa</dc:creator>
      <dc:date>2017-04-05T14:23:27Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294901#M27064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Since the grid var is undefined inside that function I would add:&lt;/P&gt;&lt;PRE class="language-javascript line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; grid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; dijit&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;byId&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"grid"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Apr 2017 14:36:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294901#M27064</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2017-04-05T14:36:17Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294902#M27065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are not updating the grid variable which is define above below parser.parse(). Instead, you are creating another locale variable named grid inside the showResults function. Either you can do like Robert as mentioned or dont create a new variable like in the original sample.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt; &lt;SPAN class="comment token"&gt;//Create data store and bind to grid.&lt;/SPAN&gt;
 store &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;ItemFileReadStore&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; data
 &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 
 grid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; registry&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;byId&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"grid"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 grid&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;setStore&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;store&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:10:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294902#M27065</guid>
      <dc:creator>thejuskambi</dc:creator>
      <dc:date>2021-12-11T14:10:26Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294903#M27066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you! Very very helpful indeed!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Apr 2017 16:32:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294903#M27066</guid>
      <dc:creator>JamesOsundwa</dc:creator>
      <dc:date>2017-04-05T16:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get export datagrid to csv</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294904#M27067</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Thejus! Now working.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Apr 2017 16:34:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/can-t-get-export-datagrid-to-csv/m-p/294904#M27067</guid>
      <dc:creator>JamesOsundwa</dc:creator>
      <dc:date>2017-04-05T16:34:57Z</dc:date>
    </item>
  </channel>
</rss>

