Files
Basalt2/docs/references/elements/Table.md
2025-09-14 10:11:36 +00:00

2.8 KiB

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

  • name string The name of the column
  • width number The width of the column

Returns

  • Table self The Table instance

Table:addData(any)

Adds a new row of data to the table

Parameters

  • any The data for the new row

Returns

  • Table self The Table instance

Table:setColumnSortFunction(columnIndex, sortFn)

Sets a custom sort function for a specific column

Parameters

  • columnIndex number The index of the column
  • sortFn function Function that takes (rowA, rowB) and returns comparison result

Returns

  • Table self The Table instance

Table:setFormattedData(displayData, sortData)

Adds data with both display and sort values

Parameters

  • displayData table The formatted data for display
  • sortData table The raw data for sorting (optional)

Returns

  • Table self The Table instance

Table:setData(rawData, formatters)

Set data with automatic formatting

Parameters

  • rawData table The raw data array
  • formatters table Optional formatter functions for columns {[2] = function(value) return value end}

Returns

  • Table self The Table instance

Table:sortData(columnIndex, fn)

Sorts the table data by column

Parameters

  • columnIndex number The index of the column to sort by
  • fn function ? Optional custom sorting function

Returns

  • Table self The Table instance