function createSchoolList (results) { var resultsLength = results.featureSet.features.length; var data = []; var schoolFeatures = results.featureSet.features; if (dGridStacked) { dGridStacked.refresh(); } if (dGridTable) { dGridTable.refresh(); } data = arrayUtil.map(results, function(schoolFeatures){ return { 'facility': schoolFeatures.attributes[Facility], 'address': schoolFeatures.attributes[Address], 'city': schoolFeatures.attributes[City], }; }); dGridStacked = new dgrid.Grid({ renderRow: renderRowFunction, showHeader: true }, "searchResultsGrid"); dGridStacked.startup(); dGridStacked.renderArray(data); dGridStacked.sort('facility'); dGridStacked.on('.dgrid-row:click', function(event){ highlightGridSelection(event, dGridStacked); }); console.log(data); } function renderRowFunction (obj,options) { var template = '<div class="title">${0}</div><div class="details">Address: ${1}</div> <div class="details">City: ${2}</div>'; return dojo.create("div",{ innerHTML : dojo.string.substitute(template,[obj.facility,obj.address,obj.city]) }); }
Solved! Go to Solution.
data = arrayUtil.map(results.featureSet.features, function(feature){ return { 'facility': feature.attributes.Facility, 'address': feature.attributes.Address, 'city': feature.attributes.City, };
var columns = buildColumns(results[0].feature); //builds the column list from the first feature var features = []; for (i = 0, len = results.length; i < len; i++) { features.push(results.feature); } var data = array.map(features, function (feature) { return lang.clone(feature.attributes); }); var dataGrid = new (declare([Grid, Selection, DijitRegistry, ColumnHider]))({ id: "dgrid_0", bufferRows: Infinity, columns: columns, selectionMode: "single", "class": "resultsGrid" }); var gridWidth = "width: " + String(columns.length * 100) + "px"; dataGrid.addCssRule("#" + dataGrid.id, gridWidth); //this makes the dgrid large enough to show all the columns dataGrid.on(".dgrid-row:click", gridSelect); //this flashes the feature dataGrid.on("show", function () { dataGrid.resize(); }); dataGrid.on(mouseUtil.enterRow, gridEnter); //this highlights the feature dataGrid.on(mouseUtil.leaveRow, function () { map.graphics.clear(); }); var plural = ""; if (combineResults[result].length !== 1) { plural = "s"; } var cp = new dijit.layout.ContentPane({ id: result, content: "<strong>" + combineResults[result][0].layerName + "</strong> (" + combineResults[result].length + " feature" + plural + ")", title: combineResults[result][0].layerId, style: "overflow: auto" }).placeAt(dijit.byId('tabs')); cp.addChild(dataGrid); cp.startup(); dataGrid.renderArray(data); function buildColumns(feature) { var attributes = feature.attributes; var columns = []; for (var attribute in attributes) { if (attributes.hasOwnProperty(attribute)) { var objects = {}; objects.label = attribute; objects.field = attribute; if (attribute === "Shape") { objects.hidden = true; } columns.push(objects); } } return columns; }
data = arrayUtil.map(results, function(schoolFeatures){ return { 'facility': schoolFeatures.attributes[Facility], 'address': schoolFeatures.attributes[Address], 'city': schoolFeatures.attributes[City], }; });
data = arrayUtil.map(results.featureSet.features, function(schoolFeature){ return { 'facility': schoolFeature.attributes[Facility], 'address': schoolFeature.attributes[Address], 'city': schoolFeature.attributes[City], }; });
data = arrayUtil.map(results.featureSet.features, function(feature){ return { 'facility': feature.attributes.Facility, 'address': feature.attributes.Address, 'city': feature.attributes.City, };
function createSchoolList (results) { var resultsLength = results.featureSet.features.length; var schoolList = {}; if (dGridStacked) { dGridStacked.refresh(); } if (dGridTable) { dGridTable.refresh(); } schoolList.data = arrayUtils.map(results.featureSet.features, function(feature){ return { "facility": feature.attributes["Facility"], "address": feature.attributes["Address"], "city": feature.attributes["City"] }; }); dGridStacked = new dgrid.Grid({ renderRow: renderRowFunction, showHeader: true }, "searchResultsGrid"); dGridStacked.startup(); dGridStacked.renderArray(schoolList.data); dGridStacked.sort('facility'); dGridStacked.on('.dgrid-row:click', function(event){ highlightGridSelection(event, dGridStacked); }); queryDistrict(); }