L'API ArcGIS Server JS contient une nouvelle classe FeatureTable , qui montre la table d'attributs correspondant à une FeatureLayer. Il existe une option syncSelection qui:
Permet une interaction entre la carte et la table d'entités. La définition de cette propriété sur true permet de sélectionner une entité sur une carte en cliquant sur la ligne dans le tableau et de sélectionner la ligne d'une table en cliquant sur une entité sur la carte
Cependant, cela ne semble pas honorer un jeu de sélection effectué par programmation contre le calque.
En prenant l'exemple sur https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=featuretable , si j'applique une sélection au FeatureLayer, elle ne sera pas reflétée dans le FeatureTable:
// Create the feature layer
myFeatureLayer = new FeatureLayer("https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Warren_College_Trees/FeatureServer/0", {
mode: FeatureLayer.MODE_SELECTION,
visible: true,
outFields: ["*"],
id: "fLayer"
});
var myQuery = new Query();
myQuery.where = "Spp_Code ='SABA'";
myFeatureLayer.selectFeatures(myQuery,FeatureLayer.SELECTION_NEW)
Cela applique correctement la sélection à la couche d'entités (notez que la carte ne contient qu'un seul point), mais pas à la table d'entités (elle répertorie tous les 1146 points avec 0 sélectionné):
Existe-t-il un moyen d'actualiser la table d'entités pour refléter l'ensemble de sélection?