Kelly and Sowjanya,I am having trouble with getting the getSelectedFeatures method to show the current set of selected Features. Can you provide an example of what worked for you?I was able to get some success by using the "onselectioncomplete" event, but it fires often and the count did not seem correct.Thanks Melefunction initSelectToolbar() {
var selectQuery = new esri.tasks.Query();
dojo.connect(map, "onClick", function (evt) {
var layerInfos = hydrMSL.layerInfos;
var visible = hydrMSL.visibleLayers;
for (var i = 0; i < layerInfos.length; i++)
{
layer = layerInfos;
if (visible.indexOf(layer.id) > -1)
{
var FL = find_in_array(FLayers, layer.id);
FL.setSelectionSymbol(selectionSymbol);
selectMode;
if(evt.ctrlKey) {
selectMode = esri.layers.FeatureLayer.SELECTION_SUBTRACT;
}
else
{
selectMode = esri.layers.FeatureLayer.SELECTION_ADD;
};
var centerPoint = new esri.geometry.Point
(evt.mapPoint.x, evt.mapPoint.y, evt.mapPoint.spatialReference);
var mapWidth = map.extent.getWidth();
//Divide width in map units by width in pixels
var pixelWidth = mapWidth / map.width;
//Calculate a 10 pixel envelope width (5 pixel tolerance on each side)
var tolerance = 10 * pixelWidth;
//Build tolerance envelope and set it as the query geometry
var queryExtent = new esri.geometry.Extent
(1, 1, tolerance, tolerance, evt.mapPoint.spatialReference);
selectQuery.geometry = queryExtent.centerAt(centerPoint);
//selectQuery.geometry = evt.mapPoint;
FL.selectFeatures(selectQuery, selectMode, function (features) {
if (features.length > 0) {
} else {
}
});
// dojo.connect(FL, "onSelectionComplete", selectMode, function(){
// for (var x = 0; x < FLayers.length; x++) {
// var selected = FLayers.getSelectedFeatures();
// var selected = FL.getSelectedFeatures();
// alert(selected.length);
// for (i =0; i < selected.length; i++)
// {
// var row = selected;
// }
//};
// });
};
}
});
function find_in_array(arr, value) {
var FLayer;
for (var i = 0, len = FLayers.length; i<len; i++) {
if (arr.layerId == value) return FLayers;
};
}
};