Table
This is the table class. It provides a sortable data grid with customizable columns,row selection, and scrolling capabilities.
Extends: VisualElement
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| columns | table | {} | List of column definitions with {name, width} properties |
| data | table | {} | The table data as array of row arrays |
| headerColor | color | blue | Color of the column headers |
| selectedColor | color | lightBlue | Background color of selected row |
| gridColor | color | gray | Color of grid lines |
| sortDirection | string | "asc" | Sort direction ("asc" or "desc") |
| scrollOffset | number | 0 | Current scroll position |
| customSortFunction | table | {} | Custom sort functions for columns |
Functions
| Method | Returns | Description |
|---|---|---|
| Table:addColumn | Table | Adds a new column to the table |
| Table:addData | Table | Adds a new row of data to the table |
| Table:setColumnSortFunction | Table | Sets a custom sort function for a column |
| Table:setFormattedData | Table | Adds formatted data with raw sort values |
| Table:setData | Table | Sets table data with optional column formatters |
| Table:sortData | Table | Sorts the table data by the specified column |
Table:addColumn(name, width)
Adds a new column to the table
Parameters
namestringThe name of the columnwidthnumberThe width of the column
Returns
TableselfThe Table instance
Table:addData(any)
Adds a new row of data to the table
Parameters
anyThedata for the new row
Returns
TableselfThe Table instance
Table:setColumnSortFunction(columnIndex, sortFn)
Sets a custom sort function for a specific column
Parameters
columnIndexnumberThe index of the columnsortFnfunctionFunction that takes (rowA, rowB) and returns comparison result
Returns
TableselfThe Table instance
Table:setFormattedData(displayData, sortData)
Adds data with both display and sort values
Parameters
displayDatatableThe formatted data for displaysortDatatableThe raw data for sorting (optional)
Returns
TableselfThe Table instance
Table:setData(rawData, formatters)
Set data with automatic formatting
Parameters
rawDatatableThe raw data arrayformatterstableOptional formatter functions for columns
Returns
TableselfThe Table instance
Table:sortData(columnIndex, fn)
Sorts the table data by column
Parameters
columnIndexnumberThe index of the column to sort byfnfunction? Optional custom sorting function
Returns
TableselfThe Table instance