Page History
(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)
Table column
Link to Figma: https://www.figma.com/design/yck1tcUXgdQ5aYX6iUAwrO/GE---Astronaut-Design-System?node-id=11525-23378&t=ftfrOGkPzlG2GaTo-1
Overview
- The Table column defines one column in the table and binds it to a data field.
- It shows a header caption with multi-language support.
- It controls how values appear and behave, including formatting, sizing, visibility, grouping, sorting, and editing.
- It supports template-based cell rendering (including conditional and custom types like a progress bar) and can show a footer summary.
...
- Required Datasource — The cell template expects a numeric value in the column.
- Properties
- accuracy — How many decimal places the bar label should display.
- useCustomScale — Wether the data is in percent (0-100) or uses a custom max value.
- maxValue — If the progress bar uses a custom scale, this value determines the maximum value that the progress bar is scaled to.
Usage
- Pick the value semantics with
dataTypeso formatting and sort behavior are correct. - Turn on
useCellTemplatewhen cells need non-default rendering. - Surface a footer aggregate only when it adds value, by setting
summaryTypeper column.
Sizing & Layout
- Control width with
widthand protect readability withminWidth; allow user control withallowResizing. - Use
groupIndexonly when this column should participate in grouped views; leave empty when grouping is not intended.
States & Feedback
- Sorting affordance/state is enabled per column via
allowSorting. - Editability is governed per column via
allowEditing(editable vs. read-only). - Cell presentation state is driven by
useCellTemplate+columnCellTemplateRules, withdefaultCellTemplateas fallback.
Data-Driven / Conditional Behavior
- Define per-cell rendering rules with
columnCellTemplateRules; ensure a default viadefaultCellTemplate. - For progress-bar cells, ensure numeric input (
Required Datasource) and configure label precision withaccuracy. - When values are not percentages, set
useCustomScale: trueand supplymaxValueso bar length and label scale correctly. - Add custom formatting/affordances (e.g., icon, date format, text transforms) via
customCellTemplatewhen supported by the template type.
Visibility & Authorization
- Control initial presence with
visibility(VISIBLE,COLUMN_CHOOSER,REMOVED) only. Role/authorization gating is not exposed by this component.
Content & Localization
- Localize the header text using
captionTranslations. - Match display and behavior to the data by setting
dataType.
Dos & Don’ts
| Do | Don’t | Article setting(s) |
|---|---|---|
| Bind to a stable field path and give the column a unique handle. | Rely on implicit positions or unlabeled columns. | dataField, id |
| Localize the header caption. | Hard-code a single-language header. | captionTranslations |
| Declare the correct content type to get sensible formatting/sorting. | Leave everything as string and expect numeric/date sorting to work. | dataType, allowSorting |
| Protect readability by setting a width and a sensible minimum; allow user resizing. | Ship ultra-narrow columns with no resize affordance. | width, minWidth, allowResizing |
| Keep optional columns off by default but discoverable. | Remove optional columns entirely or flood the default view. | visibility: COLUMN_CHOOSER, visibility: REMOVED |
| Make derived or locked data read-only. | Allow editing on values that must not change. | allowEditing: false |
| Provide a fallback template for unmatched cases. | Define conditional templates with no default, causing blank cells. | defaultCellTemplate, useCellTemplate, columnCellTemplateRules |
| Show meaningful aggregates only when helpful. | Display footer summaries on every column without purpose. | summaryType |
| Configure progress-bar cells with the right scale and clear numeric labels. | Treat non-percentage data as 0–100% or omit label precision. | Required Datasource, useCustomScale, maxValue, accuracy |
| Use grouping deliberately and only where it adds clarity. | Assign multiple columns the same primary group or group without intent. | groupIndex |
Accessibility
...
- Provide localized, concise column headers:
captionTranslations. - Ensure values are interpreted correctly by assistive tech via correct typing/formatting:
dataType, plus template-driven formatting withdefaultCellTemplate/customCellTemplatewhere applicable. - Avoid color-only meaning in custom cells by including text or numeric labels (e.g., progress-bar label via
accuracy):customCellTemplate,accuracy. - Expose stable hooks for accessibility testing:
dataTestId. - Prevent accidental edits on non-interactive data:
allowEditing: false. - Improve readability by preventing overly narrow columns and enabling user control:
minWidth,allowResizing. - Reduce initial clutter while keeping content discoverable:
visibility: COLUMN_CHOOSER.