@Js
@Serializable {
simple=false
collection=false
}
Table displays grid of rows and columns.
Slots
- borderSource
-
const Bool border := true
Draw a border around the widget. Default is true. This field cannot be changed once the widget is constructed.
- colAtSource
-
Get the zero based column index at the specified coordinate relative to this widget or null if not over a valid cell.
- hbarSource
-
@Transient
readonly ScrollBar hbarHorizontal scroll bar.
- headerVisibleSource
-
native Bool headerVisible
Is the header visible. Defaults to true.
- isColVisibleSource
-
Return if the given column is visible. All columns are visible by default and can be toggled via setColVisible.
- makeSource
-
new make(|This|? f := null)
Default constructor.
- modelSource
-
TableModel model := TableModel()
Backing data model of table.
- multiSource
-
const Bool multi := false
True to enable multi-row selection, false for single row selection. Default is false. This field cannot be changed once the widget is constructed.
- onActionSource
-
@Transient
readonly EventListeners onAction := EventListeners()Callback when row is double clicked or Return/Enter key is pressed.
Event id fired:
Event fields:
Event.index
: the row index.
- onPopupSource
-
@Transient
readonly EventListeners onPopup := EventListeners()Callback when user invokes a right click popup action. If the callback wishes to display a popup, then set the
Event.popup
field with menu to open. If multiple callbacks are installed, the first one to return a nonnull popup consumes the event.Event id fired:
Event fields:
Event.index
: the row index, ornull
if this is a background popup.Event.pos
: the mouse position of the popup.
- onSelectSource
-
@Transient
readonly EventListeners onSelect := EventListeners()Callback when selected rows change.
Event id fired:
Event fields:
Event.index
: the primary selection row index.
- refreshAllSource
-
native Void refreshAll()
Update the entire table's contents from the model.
- rowAtSource
-
Get the zero based row index at the specified coordinate relative to this widget or null if not over a valid cell.
- selectedSource
-
native Int[] selected
Get and set the selected row indices.
- setColVisibleSource
-
Void setColVisible(Int col, Bool visible)
Show or hide the given column. Changing visibility of columns does not modify the indexing of TableModel, it only changes how the model is viewed. See isColVisible. This method does not automatically refresh table, call refreshAll when complete.
- sortSource
-
native Void sort(Int? col, SortMode mode := SortMode.up)
Sort a table by the given column index. If col is null, then the table is ordered by its natural order of the table model. Sort order is determined by
TableModel.sortCompare
. Sorting does not modify the indexing of TableModel, it only changes how the model is viewed. Also see sortCol and sortMode. This method automatically refreshes the table. - sortColSource
-
Int? sortCol()
The column index by which the table is currently sorted, or null if the table is not currently sorted by a column. See sort.
- sortModeSource
-
SortMode sortMode()
Return if the table is currently sorting up or down. See sort.
- vbarSource
-
@Transient
readonly ScrollBar vbarVertical scroll bar.
-
internal TableView view := TableView(this)
The view wraps the table model to implement the row/col mapping from the view coordinate space to the model coordinate space based on column visibility and row sort order.