Skip To ContentArcGIS for DevelopersSign In Dashboard

FeatureTableViewModel

require(["esri/widgets/FeatureTable/FeatureTableViewModel"], function(FeatureTableVM) { /* code goes here */ });
Class: esri/widgets/FeatureTable/FeatureTableViewModel
Since: ArcGIS API for JavaScript 4.15
beta

Provides the logic for the FeatureTable widget, which allows users to view content from feature attributes in a tabular format.

See also:

Constructors

new FeatureTableViewModel(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
Boolean

Indicates whether to display the Attachments field in the table.

more details
more detailsFeatureTableViewModel
Boolean

Indicates whether editing is enabled on the data within the feature table.

more details
more detailsFeatureTableViewModel
FieldColumnConfig[]

An array of individual configuration objects.

more details
more detailsFeatureTableViewModel
Collection<string>

A collection of fields to remain hidden within the table.

more details
more detailsFeatureTableViewModel
Boolean

Indicates whether to highlight the associated feature when a row is selected.

more details
more detailsFeatureTableViewModel
FeatureLayer

The associated FeatureLayer containing the fields and attributes to display within the widget.

more details
more detailsFeatureTableViewModel
String

The view model's state.

more details
more detailsFeatureTableViewModel
MapView

A reference to the MapView.

more details
more detailsFeatureTableViewModel

Property Details

attachmentsEnabled Boolean

Indicates whether to display the Attachments field in the table. This is only applicable if the feature layer supports attachments. Currently, this field only displays the count of attachments per feature.

featuretable attachments enabled

Default Value:false
editingEnabled Boolean
Since: ArcGIS API for JavaScript 4.16

Indicates whether editing is enabled on the data within the feature table. Double-clicking in a cell will enable editing for that value.

Editing permissions can be broken down with the following levels of priority:

  1. Field - This is derived from the FeatureLayer. It takes what is set in the Field.editable property. This must always be true for editing to be enabled. This can be overriden using a field column configuration.
  2. Config - The editable permissions on a field can be configured by setting the editable property of the FieldColumnConfig.
  3. FeatureTable - The editingEnabled property must be set on the table in order for any type of editing to be enabled.

For example, if table editing is disabled in the widget, i.e. enableEditing is not set, it is still possible to enable editing for a specific column by setting the editable property. Vice versa is also true, if table editing is enabled, a field configuration can be used to disable editing for a specific column.

Ultimately, if the service's field is not editable, it is not possible to override its permissions using one of the options above.

featuretable editing

Default Value:false
See also:
  • [Sample - FeatureTable with editing enabled]

fieldConfigs FieldColumnConfig[]

An array of individual configuration objects. This is where you can specify what fields to display and how you wish to display them.

When not set, all fields except for CreationDate, Creator, EditDate, Editor, and GlobalID will be included. Otherwise, it is up to the developer to set the right field(s) to override and display.

hiddenFields Collection<string>
Since: ArcGIS API for JavaScript 4.16

A collection of fields to remain hidden within the table.

highlightOnRowSelectEnabled Boolean
Since: ArcGIS API for JavaScript 4.16

Indicates whether to highlight the associated feature when a row is selected.

Default Value:true

The associated FeatureLayer containing the fields and attributes to display within the widget.

state Stringreadonly

The view model's state.

Possible Values:"disabled"|"loading"|"ready"

Default Value:disabled
view MapView

A reference to the MapView. This property must be set for the select/highlight in the map to work.

Method Overview

NameReturn TypeSummaryClass

This clears any highlighted features.

more details
more detailsFeatureTableViewModel

Clears the current selection within the table.

more details
more detailsFeatureTableViewModel

Unselects the specified rows within the table.

more details
more detailsFeatureTableViewModel
Number

Returns current row index for the associated feature.

more details
more detailsFeatureTableViewModel
String|Number|null

Returns a field value given the specified row (feature) ObjectId and an associated fieldName.

more details
more detailsFeatureTableViewModel

Refreshes the table contents.

more details
more detailsFeatureTableViewModel

Selects the specified rows within the table.

more details
more detailsFeatureTableViewModel

Method Details

clearHighlights()
Since: ArcGIS API for JavaScript 4.16

This clears any highlighted features. Take note that the associated rows are not deselected.

clearSelection()
Since: ArcGIS API for JavaScript 4.16

Clears the current selection within the table.

deselectRows(params)
Since: ArcGIS API for JavaScript 4.16

Unselects the specified rows within the table.

Parameter:

The selection parameters to deselect within the feature table.

See also:
getObjectIdIndex(objectId){Number}

Returns current row index for the associated feature.

Parameter:
objectId Number

The ObjectId field of the specified row (feature).

Returns:
TypeDescription
Number
getValue(objectId, fieldName){String|Number|null}static

Returns a field value given the specified row (feature) ObjectId and an associated fieldName.

Parameters:
objectId Number

The ObjectId field of the specified row (feature).

fieldName String

The name of the field in which to get the associated ObjectId's row (feature) value.

Returns:
TypeDescription
String | Number | null
  • Value of the cell (field) of the associated row (feature).
Example:
// Gets the field value for the specified field name, "OPENSTATUS" with the given row (feature) ObjectId
const featureValue = featureTable.viewModel.getValue(feature.attributes.ObjectId, "OPENSTATUS");
console.log(featureValue);
refresh()
Since: ArcGIS API for JavaScript 4.16

Refreshes the table contents.

selectRows(params)
Since: ArcGIS API for JavaScript 4.16

Selects the specified rows within the table.

Parameter:

The selection parameters to select within the feature table.

See also:

API Reference search results

NameTypeModule
Loading...