The Table widget displays interactive attribute tables for feature layers and scene layers with an associated feature layer with the option to include multiple sheets that users access from tabs or a list. You can choose which fields to include in the table and turn on tools such as search and selection. Users can sort tables by one or multiple fields and by ascending or descending order.
Use this widget to support app design requirements such as the following:
- You want to display attribute tables.
- You want to provide a table for users to interact with, such as finding or sorting records, editing attributes, and selecting corresponding features in a map.
This widget requires that a data source be set for each sheet in the table. Table supports feature layers and scene layers with an associated feature layer. You can set actions for a Table widget to interact with other widgets, such as zooming to the selected feature on a map in a Map widget or filtering rows in a List widget. You can also use this widget to display feature attributes without including a map in the app.
The Table widget's search tool uses different methods to retrieve search suggestions and search results.
The search tool uses full-text search to generate search suggestions. Full-text search is an efficient search method that uses full-text field indexes, which split up records into small units, such as individual words. For example, imagine you have a layer of United States Post Office locations with a name field containing the names of every post office location. The index splits the name Highland Station Baltimore Post Office into five individually searchable words:
Post , and
Office . If you enter a search phrase made up of any combination of those words (or just the first part of any of them) such as
Baltimore Office ,
Highland Baltimore , or
Stat Balt Office , you get that office in the search suggestions.
Full-text field indexes are automatically generated for hosted feature layers when you select them as search fields for the Search, List, or Table widget if you are the owner of the hosted feature layer or an organization administrator. You can also manually add indexes to attribute fields on the layers item detail's page. If you have layers with no indexes and you do not have permission to edit the layers, the Table widget instead finds suggestions using
START WITH abc% , meaning the widget looks for records that start with the search phrase. This is a less efficient search method.
To retrieve search results, the widget uses
CONTAIN %abc% , meaning the search phrase can be anywhere in the record. For example, you can search for
alt to get Baltimore, Salt Lake City, and Alton in search results.
The Table widget includes the following settings:
New sheet—Create one or more sheets in the table. (Click the Remove button to remove a sheet from the table.) For each sheet, specify the following settings in the Sheet configuration panel:
Data—Select the data source for a layer with attributes to show in the widget. In the data view settings, you can filter the data to restrict what appears in the widget, sort the data to display features in a particular order, or limit the number of features.
Last update text—Include text that says when the data last updated. This setting is only available if Auto refresh is turned on for the connected data source.
Label—Type a name for the sheet. This name appears in the widget as a tab or in a list of sheets.
Configure fields—Select the fields to include in the sheet. (The first 50 fields are automatically selected; use the Clear selection button if needed.) Drag selected fields to reorder them. Click the Visible button to turn a column's visibility on or off when the widget first loads. (Users can change visibility at runtime with the Show/hide columns tool.) If the data source supports editing, check the Allow editing box so users who have access to the data can edit attributes by double-clicking in the table cells. You can choose which fields are editable. Lock icons appear in column headers for fields that can't be edited.
Header options—Customize the header row that appears at the top of the sheet. You can apply bold formatting to the header text, change the font color, and change the font size in pixels (px). You can also choose the header background color.
Tools—Provide tools for users to interact with the sheets in the table.
Search—Provide a search box for the sheet in the table.
- Select searching fields—Choose one or more fields to search.
- Exact match—Limit search results to only records that match the search phrase.
- Hint—Customize the hint text that appears in the search box.
Select records—Allow users to select records in the sheet. Turning on this tool also includes Show selection (updates the sheet to only display the selected items) and Clear selection on the sheet's Options menu.
- Select mode—Allow users to select single or multiple records in the table.
Show record count—Show counts of total and selected records.
Refresh—This tool appears on the sheet's Options menu for users to refresh the table to get the latest data.
Arrangement style—Choose from Tabs or Dropdown to specify how users can switch between the sheets in the table.
This widget supports actions, which you can configure on the Action tab of the widget's settings.
Message actions are useful for creating interactions between widgets. For example, you can make a map zoom to features when the user selects them in a table by adding the Record selection changes trigger in the Table widget's Action settings, setting a Map widget as the target, and adding the Zoom to message action.
Data actions allow the user to perform data processing tasks, such as exporting, filtering, and adding a layers to a map. For example, you can turn on the Set filter data action to allow users to set table filters with SQL expressions at run time. The Add to map data action is useful if you have both an Add Data widget and a Table widget in an app. If the user adds a layer from the Add Data widget to the Table widget with the View in table data action, they can then add the layer to the map with the Table widget's Add to map action.