ArcGIS Server JS API zawiera nową klasę FeatureTable , która pokazuje tabelę atrybutów odpowiadającą FeatureLayer. Istnieje opcja syncSelection, która:
Umożliwia interakcję między mapą a tabelą obiektów. Ustawienie tej właściwości na true umożliwia wybór elementu na mapie poprzez kliknięcie wiersza w tabeli i wybranie rzędu tabeli poprzez kliknięcie elementu na mapie
Nie wydaje się to jednak honorować zestawu selekcji dokonanego programowo względem warstwy.
Biorąc próbkę na https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=featuretable , jeśli zastosuję zaznaczenie do FeatureLayer, nie zostanie to odzwierciedlone w 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)
To poprawnie stosuje zaznaczenie do warstwy obiektów (zwróć uwagę, że mapa zawiera tylko jeden punkt), ale nie do tabeli obiektów (zawiera wszystkie 1146 punktów z zaznaczonym 0):
Czy istnieje sposób na odświeżenie tabeli funkcji, aby odzwierciedlić zestaw wyboru?