Columns¶
Global structure¶
Here is the global structure of a column object:
{
"key":"bjcM",
"type":"number",
"name":"Val",
"editable":true,
"width":200,
"resizable":true,
"draggable":true,
"data": // (1)!
{
"format":"number",
"precision":2,
"enable_precision":false,
"enable_fill_default_value":false,
"enable_check_format":false,
"decimal":"comma",
"thousands":"no",
"format_min_value":0,
"format_max_value":1000
},
"permission_type":"",
"permitted_users":[],
"permitted_group":[],
"edit_metadata_permission_type":"",
"edit_metadata_permitted_users":[],
"edit_metadata_permitted_group":[],
"description":null,
"colorbys":{},
"editor":
{
"key":null,
"ref":null,
"props":{},
"_owner":null
},
"formatter":
{
"key":null,
"ref":null,
"props":{},
"_owner":null
}
}
- See below for a presentation of
dataobject keys depending on the columntype
Columns particularities
- Unless other elements, columns don't have an
_id, but akey - Link-type columns also have a link id that should not be mistaken with the column
key. This value is present in thedataobject (see below)
Column data¶
The data object keys will depend on the column type and will allow you to define the specific column parameters. Here is a list of the different data keys depending on the column type:
text, email, long-text, image, file, url, creator, ctime, last-modifier, mtime
empty
link
number
single select, multiple select
{
"options":
[
{
"name":"Male",
"id":"783482",
"color":"#46A1FD",
"textColor":"#FFFFFF",
"borderColor":"#3C8FE4"
},
{
"name":"Female",
"id":"330935",
"color":"#DC82D2",
"textColor":"#FFFFFF",
"borderColor":"#D166C5"
},
{
"name":"Non-binary",
"id":"147140",
"color":"#ADDF84",
"textColor":"#FFFFFF",
"borderColor":"#9CCF72"
}
],
"cascade_column_key":"Qvkt",
"cascade_settings":
{
"147140":["783482"],
"330935":["330935"],
"783482":["783482"]
}
}
rate
formula
link-formula
{
"formula":"findmax",
"result_type":"array",
"operated_columns":["TaXD"],
"conditions":[],
"link_column_key":"TaXD",
"include_condition":false,
"condition_conjunction":"And",
"column_key_in_linked_record":"0000",
"column_key_for_comparison":"RSjx",
"level2_linked_table_column_key":null,
"array_type":"auto-number",
"array_data":null
}
auto-number
button
Accessing a particular data object value
This rather long list is not exhaustive, however. If you need to access a specific data value, consult the SeaTable API Reference or create the corresponding column to display the content of its data object.
Get Column(s)¶
getColumnByName
Get the column object of a table, specified by the column name.
Output Single column object (undefined if column doesn't exist)
Example
getColumns
Get all columns of a table.
Output Array of column objects
Example
listColumns
Get the columns of a table, optionally filtered by view. If no view is specified, all columns are returned.
Output Array of column objects
Example
getShownColumns
Get all visible columns of a table in a specific view (hidden columns are excluded). Only available in SeaTable scripts.
Output Array of column objects
Example
getColumnsByType
Get all columns of a specific type in a table. See the API Reference for supported column types.
Output Array of column objects (empty array if no match)
Example
Add Column¶
insertColumn
Add a new column to a table.
Example
import { ColumnTypes } from 'seatable-api';
await base.insertColumn('Table1', 'Notes', ColumnTypes.TEXT);
// Insert after a specific column
await base.insertColumn('Table1', 'Notes', ColumnTypes.TEXT, '0000');
// Create a link column
await base.insertColumn('Table1', 'Link1', ColumnTypes.LINK, '', {
'table': 'Table1',
'other_table': 'Table2'
});
Rename Column¶
renameColumn
Rename a column, identified by its column key.
Example
Column Settings¶
resizeColumn
Example
freezeColumn
Example
moveColumn
Move a column to the right of the target column.
Example
modifyColumnType
Change the type of an existing column.
Example
addColumnOptions
Add options to a single-select or multiple-select column.
Example
addColumnCascadeSettings
Add cascade settings to a single-select column, limiting child options based on the parent column's selection.
Example