The format of each cell (element) in the table is determined the dictionary attribute $TableFormat. Special formatting may be applied to rows or columns (but not, at present, to individual cells).
Most people will not need to change the table format in an action. $TableFormat is a deeply nested dictionary, which makes changes in actions a bit tricky. Still, it can be done, and this avoids the need to create perhaps a dozen additional attributes.
Note that the column/row
The definable keys in $TableFormat are:
- TextColor. The colour used to draw the text. The default is the system text colour.
- BackgroundColor. The background colour of the table, row or column. The default is the system text background colour.
- Font. The font used to draw the text. The default is the system font. This cannot be altered via the variable's context menus.
- Align. One of "left", "center", or "right". The default is
left
. - Bold. Either true or false. The default is
false
. - ColumnWidth. The width of the column, in pixels.
- RowHeight. The height of the row, in pixels.
- Format. Special formatting to be applied to numbers or dates.
- Column. A dictionary describing formats to be applied to a column, in which keys are attributes and values are dictionaries of formats.
- Row. A dictionary describing formats to be applied to a row, in which keys are IDs and values are dictionaries of formats.
Examples of $TableFormat code
A customised Table view:
{Column:{MyDate:{Format:t;ColumnWidth:192};Badge:{Bold:true;ColumnWidth:146.5};Name:{ColumnWidth:100};MyNumber:{Format:$}};Row:{tbx_Ble4Lq:{BackgroundColor:yellow};tbx_Ble4Lp:{TextColor:bright red}}}
This can be read more easily as:
{
Column:{
MyDate:{Format:t;ColumnWidth:192};
Badge:{Bold:true;ColumnWidth:146.5};
Name:{ColumnWidth:100};
MyNumber:{Format:$}
};
Row:{
tbx_Ble4Lq:{BackgroundColor:yellow};
tbx_Ble4Lp:{TextColor:bright red}
}
}
The overall dictionary contains one or two (either/both Column
or/and Row
) objects. The Column
has an item for each customised column, with the column attribute's name as the key and a dictionary of customised settings. For the Row
, only customised rows are recorded. The per-row key is the row's $IDString and the value is a dictionary of customised features.