<!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dgrid/css/dgrid.css" /> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dgrid/css/skins/tundra.css" /> <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/"></script> <script> require(["esri/layers/FeatureLayer", "dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dijit/form/Button"], function(FeatureLayer){ window.sitesUrl = "http://server.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Median_Net_Worth/MapServer/4"; window.siteFields = ["OBJECTID", "NAME"]; window.sitesFL = new esri.layers.FeatureLayer(window.sitesUrl, { "id": "sites", "mode": 1, // ONDEMAND "outFields": window.siteFields }); }) function executeSite() { require(["dgrid/Grid", "dojo/_base/array"], function(Grid, array) { //define query task siteQueryTask = new esri.tasks.QueryTask(window.sitesUrl); //define query params siteQuery = new esri.tasks.Query(); siteQuery.returnGeometry = true; siteQuery.outFields = window.siteFields; siteQuery.where = "NAME LIKE '" + dojo.byId('stateText').value + "%'" + " OR " + "NAME LIKE '%" + dojo.byId('stateText').value + "%'"; siteQueryTask.execute(siteQuery, function(results) { var siteData = []; var siteData = array.map(results.features, function(feature){ return { "id": feature.attributes[window.siteFields[0]], "NAME": feature.attributes[window.siteFields[1]] } }); var mySiteGrid = new Grid({ columns: { "id": "ZOOM", "NAME": "State Name" } }, "siteGrid"); mySiteGrid.renderArray(siteData); dojo.byId("siteInfo").innerHTML = siteData.length + " records found"; }); }); } </script> </head> <body class="tundra"> <div id="container" dojotype="dijit.layout.BorderContainer" design="headline" gutters="false" style="width:100%; height:100%;"> <div dojotype="dijit.layout.ContentPane" id="main" region="center"> <div dojotype="dijit.layout.ContentPane" > <b><i><div id="siteInfo"></div></i></b> <button dojoType="dijit.form.Button" align="left" onclick="executeSite();"> Submit Filter </button> <br />State Name<br /> <input type="dijit.form.TextBox" id="stateText" value=""/> </div> <div id="siteGrid"></div> </div> </div> </body>
Solved! Go to Solution.
var mySiteGrid; function executeSite() { require(["dgrid/Grid", "dojo/_base/array"], function(Grid, array) { //define query task siteQueryTask = new esri.tasks.QueryTask(window.sitesUrl); //define query params siteQuery = new esri.tasks.Query(); siteQuery.returnGeometry = true; siteQuery.outFields = window.siteFields; siteQuery.where = "NAME LIKE '" + dojo.byId('stateText').value + "%'" + " OR " + "NAME LIKE '%" + dojo.byId('stateText').value + "%'"; siteQueryTask.execute(siteQuery, function(results) { var siteData = []; var siteData = array.map(results.features, function(feature){ return { "id": feature.attributes[window.siteFields[0]], "NAME": feature.attributes[window.siteFields[1]] } }); if (!mySiteGrid) { mySiteGrid = new Grid({ columns: { "id": "ZOOM", "NAME": "State Name" } }, "siteGrid"); } mySiteGrid.refresh(); mySiteGrid.renderArray(siteData); dojo.byId("siteInfo").innerHTML = siteData.length + " records found"; }); }); }
var mySiteGrid; function executeSite() { require(["dgrid/Grid", "dojo/_base/array"], function(Grid, array) { //define query task siteQueryTask = new esri.tasks.QueryTask(window.sitesUrl); //define query params siteQuery = new esri.tasks.Query(); siteQuery.returnGeometry = true; siteQuery.outFields = window.siteFields; siteQuery.where = "NAME LIKE '" + dojo.byId('stateText').value + "%'" + " OR " + "NAME LIKE '%" + dojo.byId('stateText').value + "%'"; siteQueryTask.execute(siteQuery, function(results) { var siteData = []; var siteData = array.map(results.features, function(feature){ return { "id": feature.attributes[window.siteFields[0]], "NAME": feature.attributes[window.siteFields[1]] } }); if (!mySiteGrid) { mySiteGrid = new Grid({ columns: { "id": "ZOOM", "NAME": "State Name" } }, "siteGrid"); } mySiteGrid.refresh(); mySiteGrid.renderArray(siteData); dojo.byId("siteInfo").innerHTML = siteData.length + " records found"; }); }); }