Skip To ContentArcGIS for DevelopersSign In Dashboard

FieldColumnConfig

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

The configuration options for displaying an individual field within the FeatureTable widget.

Below are some things to consider when enabling/disabling editing in a field configuration.

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.

See also:
Example:
// Shows how field column configs can be set to control editing
// within a table
const table = new FeatureTable({
  editingEnabled: true, //enables editing on the entire table (if service allows it)
  layer: featureLayer,
  container: document.getElementById("table"),
  fieldConfigs: [{
    name: "NAME",
    label: name,
    direction: "asc",
  },
  {
  name: "ADDRESS",
  label: address,
  editable: false, // disables editing for the ADDRESS field
  required: true
}]
});

Constructors

new FieldColumnConfig(properties)
Parameter:
properties Object
optional

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

Example:
// Typical usage for FieldColumnConfig.
const fieldConfig1 = new FieldColumnConfig({
  name: "FID",
  label: "ID",
  // This field will not be shown in the table initially
  visible: false
 });

const fieldConfig2 = new FieldColumnConfig({
  name: "NAME",
  label: "School Name",
  // The table will be sorted by this column
  // in ascending order
  direction: "asc"
});

// Apply field configs to feature table
const featuretable = new FeatureTable({
  layer: featureLayer,
  fieldConfigs: [fieldConfig1, fieldConfig2],
  container: "tableDiv"
});

Property Overview

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

The name of the class.

more details
more detailsAccessor
String

The field's description.

more details
more detailsFieldConfig
String|null

Controls the sort order of the column.

more details
more detailsFieldColumnConfig
Boolean

Indicates whether the field can be edited.

more details
more detailsFieldConfig
Boolean

Indicates whether date fields should display input for editing time.

more details
more detailsFieldConfig
String

The field's label.

more details
more detailsFieldConfig
Number

Restricts the input length.

more details
more detailsFieldConfig
ButtonMenuConfig

Set this object to customize the field column's menu content.

more details
more detailsFieldColumnConfig
Number

Restricts the input length.

more details
more detailsFieldConfig
String

The field name.

more details
more detailsFieldConfig
Boolean

Indicates whether the field is required.

more details
more detailsFieldConfig
String

A reference to an Arcade expression that returns a boolean value.

more details
more detailsFieldConfig
Boolean

Indicates whether the field column can be sorted.

more details
more detailsFieldColumnConfig
Boolean

Indicates whether the field column is visible.

more details
more detailsFieldColumnConfig

Property Details

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

description String inherited

The field's description. The description is shown below the field.

direction String|null

Controls the sort order of the column. This property will only be honored on one fieldColumn in the FeatureTable widget. If direction is specified on more than one fieldColumn in the same FeatureTable, it will only be honored on the column with the highest index. For example, let's say the first column called ObjectId is set to asc and another column later in the table order also has a set direction, the initial ObjectId column's direction will be ignored for the last one with the set direction.

Possible ValueDescription
ascSorts the column in ascending order.
descSorts the column in descending order.
nullNo sort is applied to the column.

Possible Values:"asc"|"desc"

Indicates whether the field can be edited.

This does not change the underlying service's field and whether it can be edited.

Default Value:true
includeTime Boolean inherited
Since: ArcGIS API for JavaScript 4.17

Indicates whether date fields should display input for editing time.

Default Value:true
See also:

The field's label. The label is shown above the field.

maxLength Number inherited

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1
Since: ArcGIS API for JavaScript 4.16

Set this object to customize the field column's menu content.

See also:
minLength Number inherited
Since: ArcGIS API for JavaScript 4.16

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1

The field name.

Indicates whether the field is required.

This cannot change the underlying service's field requirements.

Default Value:false
requiredExpression String inherited
Since: ArcGIS API for JavaScript 4.16

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to false the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.

sortable Boolean
Since: ArcGIS API for JavaScript 4.16

Indicates whether the field column can be sorted.

Default Value:true
visible Boolean

Indicates whether the field column is visible.

Default Value:true

API Reference search results

NameTypeModule
Loading...