Skip to content

[Back to Parameters]

Table

Allows the user to fill in values in a table, whose cells are able to represent other individual parameters

Specification

key type required default value description
columns array\<parameter> yes n/a A list, each entry comprising of a parameter object representing the column. The prompt will be used as the column header.
collapseFromColumn integer no n/a A zero-based integer specifying the beginning of collapsible columns. The specified column and all subsequent columns that do not contained values will be collapsed by default.
columnToStretch integer no n/a A zero-based integer specifying a column to grow horizontally with the dialog. Default is all columns stretching equally.
columnDisplayOrder array\ no n/a A list of zero-based column indices specifying column display order. Other settings referencing column indices should be in terms of display order.
columnsToHide array\ no n/a A list of zero-based column indices (in terms of display order) for columns that should not be shown.
autoNums array\ no n/a Internal only: A list of zero-based column indices for number columns that have default values to display in the cell of the first row. In each subsequent row the value increments by one. Each cell in these columns are read only.
allowRowMove boolean no true If true buttons for reordering rows will be shown.
allowResize boolean no true If true the table can be resized when the dialog is stretched. If false the table remains a fixed size.
rowsToStart integer no 0 The number of rows to start the table with.
allowAdd boolean no true If false a blank row will not be added after each new row. Also add/remove buttons will not be shown.
showHeadings boolean no true If false, the table will be displayed with no headings.
mimeType string no n/a A name for the MIME data type, which is by default the name of this table parameter. This MIME type name is used in copying/pasting rows between different tables. Tables with the same MIME type name allow copy/paste between each other.
inlineTable boolean no true If false the table will be hidden with a button to view it in a new dialog box.
importSettings dictionary no n/a When this is specified, the table will show an Import... button which will launch a wizard to select attribute names or values.

deprecated

key type required default value description
excludeFromDialogValidation boolean no false If true the user will be able to click okay if the table is invalid.
explicitSupportedValues boolean no false If true the columns define the supported types completely. Do not inherit supported types from the parent (the table).
rowDelimiter char no ' ' The delimiter if the table is serialized to a string. This value must be a single ASCII character.
columnDelimiter char no ' ' The delimiter if the table is serialized to a string. This value must be a single ASCII character.
alternativeColumnDelimiter char no n/a The alternative column delimiter if the table is serialized to a string. This value must be a single ASCII character.
rowKeyword string no n/a Do not use! Added for backwards-compatibility purposes, used in mapping file output only.

importSettings

key type required default value description
columns array\ no n/a A list of zero-based column indices (in terms of display order) that will accept an import.
includeEmptyValues boolean no true If false, empty attribute values will be excluded from the import.
defaultAttributeParamName string no n/a The name of an attribute parameter in the parent query. The import wizard will select this attribute by default.
acceptNamesFromDataset boolean no true Whether attribute names can be imported from an explicitly-specified dataset.
acceptValuesFromDataset boolean no true Whether attribute values can be imported from an explicitly-specified dataset.
acceptNamesFromCache boolean no false Whether attribute names can be imported from an upstream feature cache.
acceptValuesFromCache boolean no false Whether attribute values can be imported from an upstream feature cache.

Row-Local Dynamic Properties

Table columns with dynamic properties may use condition operators that specify another "column" instead of another "parameter". This means that the parameter named in "column" refers to another widget in the same row of the table but under column "column".

Row-Local Dynamic Properties Example

{
  "name": "styletable",
  "type": "table",
  "valueType": "string",
  "prompt": "Styles",
  "columns": [
    {
      "name": "label",
      "type": "text",
      "valueType": "string",
      "required": true,
      "enabled": {
        "if": [{
          "$equals": {
            "parameter": "USE_LABELS",
            "value": "NO"
          },
          "then": false // disables entire column, since it refers to outside parameter "USE_LABELS"
        }]
      }
    },
    {
      "name": "geomtype",
      "type": "dropdown",
      "valueType": "string",
      "required": true,
      "choiceSet": ["point", "polygon"]
    },
    {
      "name": "strokecolor", 
      "type": "color",
      "valueType": "string",
      "required": true,
      "defaultValue": "0,255,255",
      "enabled": {
        "if": [{
          "$equals": {
            "column": "geomtype",
            "value": "point"
          },
          "then": false // disables this widget only if "geomtype" column in SAME ROW has the value "point"
        }]
      }
    }
  ]
}

Example

{
  "name": "sometable",
  "type": "table",
  "valueType": "string",
  "prompt": "Data Series",
  "columnDisplayOrder": [1, 0],
  "columns": [
    {
      "name": "data",
      "type": "dropdown",
      "valueType": "string",
      "required": true,
      "choiceSet": ["attributes"]
    },
    {
      "name": "color", 
      "type": "color",
      "valueType": "string",
      "required": true,
      "defaultValue": "0,255,255"
    }
  ]
}