Calculated Column Technical Reference

Summary

  • Calculated Column Initial Adaptable State enables Calculated Columns to be defined at design time
  • Calculated Column API Section of Adaptable API contains functions relating to Calculated Columns

Calculated Column State

The Calculated Column section of Adaptable State contains an array of CalculatedColumn objects:

PropertyTypeDescription
CalculatedColumnsCalculatedColumn[]Collection of Calculated Columns

Calculated Column

The Calculated Column is defined as follows:

PropertyTypeDescription
CalculatedColumnSettingsCalculatedColumnSettingsAdditional optional properties for Column (e.g. filterable, resizable)
ColumnIdstringName of Calculated Column
FriendlyNamestringName to be used in Column Header; if blank ColumnId is used
QueryAdaptableCalculatedColumnQueryScalar/AggregatedScalar Query used by AdapTableQL to evaluate Column's value
IsReadOnlybooleanSets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')

Calculated Column Settings

The Calculated Column Settings property contains additional options for the Calculated Column:

PropertyTypeDescriptionDefault
ShowToolTipbooleanShow underlying Expression as Tooltip when hovering over a cellfalse

But it also inherits from SpecialColumnSettings which is defined as follows:

PropertyTypeDescriptionDefault
AggregatablebooleanWhether Column can be used in an aggregation when groupingfalse
ColumnTypesstring[]Custom column types added to AG Grid Column Types when object is created
DataTypeAdaptableColumnDataTypeExpression's return value DataType, only mandatory property
FilterablebooleanWhether Column is filterablefalse
GroupablebooleanWhether Column can be groupedfalse
HeaderToolTipstringTooltip to show in the Column Header (not cells)
PivotablebooleanWhether Column can be used when grid is in pivot modefalse
ResizablebooleanWhether Column can be resized (by dragging column header edges)false
SortablebooleanWhether Column is sortablefalse
SuppressMenubooleanWhether if no menu should be shown for this Column header.false
SuppressMovablebooleanWhether if this Column should be movable via draggingfalse
WidthnumberPreferred (pixel) Column Width; if unset, calculated dynamically by AG Grid

Calculated Column Changed Event

The Calculated Column Changed Event fires whenever the Calculated Column State changes.

It provides full information about the new Calculated Column and what triggered the change.

Calculated ColumnChangedInfo

The event comprises a single CalculatedColumnChangeInfo object which contains details about what action triggered the change and the associated Caluculated Column.

PropertyTypeDescription
actionNamestringWhat caused CalculatedColumn State to change (i.e. Add, Edit, Delete)
calculatedColumnCalculatedColumnCalculated Column that has been added, edited or deleted
calculatedColumnExpressionASTanyAST for Current Calculated Column Expression
adaptableContextanyCustom application Context provided in AdaptableOptions.adaptableContext

Action Names

The value for the actionName property can be one of:

  • CALCULATED_COLUMN_ADD
  • CALCULATED_COLUMN_EDIT
  • CALCULATED_COLUMN_DELETE

Event Subscription

Subscribing to the Event is done the same way as with all Adaptable Events:

api.eventApi.on('CalculatedColumnChanged', (eventInfo: CalculatedColumnChangedInfo) => {
    // do something with the info
});

Calculated Column API

MethodReturnsDescription
addCalculatedColumn(calcColumn)CalculatedColumnAdds new Calculated Column
deleteCalculatedColumn(columnId)voidDeletes Calculated Column with given ColumnId from Adaptable State
editCalculatedColumn(calcColumn)CalculatedColumnUpdates given Calculated Column in Adaptable State
getAggregatedCalculatedColumns()CalculatedColumn[]Retrieves all Aggregated Calculated Columns in Adaptable State
getCalculatedColumnById(id)CalculatedColumnRetrieves Calculated Column by the technical ID (from CalculatedColumnState)
getCalculatedColumnForColumnId(columnId)CalculatedColumn | undefinedGets Calculated Column, if any, for given ColumnId
getCalculatedColumns()CalculatedColumn[]Retrieves all Calculated Columns in Adaptable State
getCalculatedColumnState()CalculatedColumnStateRetrieves Calculated Column section from Adaptable State
openCalculatedColumnSettingsPanel()voidOpens Settings Panel with Calculated Column section selected and visible
refreshAggregatedCalculatedColumn(columnId)voidRe-calculates the aggregated CalculatedColumn (defined with a AggregatedScalarExpression) with the given columnId
refreshAggregatedCalculatedColumns()voidRe-calculates all aggregated CalculatedColumns (defined with a AggregatedScalarExpression)