Skip to content

Modern Tui TuiTable

Paul Squires edited this page Oct 19, 2026 · 6 revisions

Home › Terminal TUI Library › Core Widgets › TuiTable

TuiTable

Draws a scrolling table with headers, its columns sized like a layout.

Syntax

type TuiTable extends TuiWidget
    as TuiStringArray headers
    as TuiRowArray rows
    as TuiConstraintArray widths
    as TuiTableState ptr state
    as boolean showHeader
end type

Description

A scrolling table whose columns are sized by the SAME constraint solver as the layout -- so a column can be a fixed 7 cells, a percentage, or Fill. Like TuiList and TuiTree it clamps in Render, not only in HandleEvent, so an application driving the selection itself cannot scroll past the end.

Example

#import "std/tui"
using tui

dim as TuiTableState st
dim as TuiTable t
t.headers.Push( "Pid" )     : t.widths.Push( TuiLength( 7 ) )
t.headers.Push( "Program" ) : t.widths.Push( TuiFill( ) )
t.headers.Push( "Cpu%" )    : t.widths.Push( TuiLength( 6 ) )

dim as TuiRow r
r.cells.Push( "25513" ) : r.cells.Push( "zed" ) : r.cells.Push( "3.4" )
t.rows.Push( r )

t.state = @st
t.showHeader = TRUE
print t.rows.Count( ), t.widths.Count( )        '' 1 3

See also

TuiBlock TuiBlock.AddTitle TuiBorderGlyphs TuiTitleOf TuiList TuiRow
TuiBlock.Inner TuiBorderSet TuiTitle TuiParagraph TuiListState TuiTableState

Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Core Widgets
Working examples: hello.tiko · form.tiko · dashboard.tiko


Home · Keyword Index

Clone this wiki locally