class domkit::Table

sys::Obj
  dom::Elem
    domkit::Table

@Js

Table displays a grid of rows and columns.

See also: docDomkit

make

new make()

Constructor.

model

TableModel model := TableModel.<ctor>()

Model for this table.

onAction

Void onAction(|This| f)

Callback when row is double-clicked.

onHeaderPopup

Void onHeaderPopup(|Table->Popup| f)

Callback to display header popup. When non-null, a button will be placed on the right-hand side of the table header to indicate the popup is available.

onSelect

Void onSelect(|This| f)

Callback when selection has changed.

onTableEvent

Void onTableEvent(Str type, |TableEvent| f)

Callback when a event occurs inside a table cell.

rebuild

Void rebuild()

Rebuild table layout.

refresh

Void refresh()

Refresh table cell content.

scrollTo

Void scrollTo(Int? col, Int? row)

Scroll to the given row and column in table. Pass null to maintain the current scroll position for that axis.

sel

Selection sel { private set }

Selection for table

showHeader

Bool showHeader := true

Is the table header visible.

sort

Void sort(Int? col, Dir dir := Dir.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 sortDir. Table automatically refreshed.

sortCol

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.

sortDir

Dir sortDir()

Return if the table is currently sorting up or down. See sort.

stripeClasses

Str[] stripeClasses := Str["even","odd"]

List of CSS classes applied to rows in sequence, looping as required.