Skip to content

TableViewBox ​

A scrolling grid over a row source: it asks for the rows in view, so a massive or infinite collection draws without ever being held.

TableViewBox(source, options)A scrolling grid over a row source: it asks for the rows in view, so a massive or infinite collection draws without ever being held.
Typed signatures
TypePackageApplies
(expression, expression*) -> boxesboxesalways

Domain: Boxes

Details
  • CollectionTable and TableView lower to it. The source is held: the page registers it with the kernel and asks for rows by range, so only the expression travels.
  • ImageSize fixes the viewport (a fixed height by default), so the page never reflows as rows load. Scrollbars scrolls (the default); Pagination -> True gives pages. ScrollPosition and MaxItems pin a first page, which is all a static environment draws: those rows, then a Skeleton row for the rest.
  • TableViewBoxHeaders are the column headings, known before any row is.

Examples

Basic #

the source is held, not enumerated

live ↗
InTableViewBox(RowSource(1..5))\mathrm{TableViewBox}(\mathrm{RowSource}(1..5))OutTableViewBox(RowSource(1..5))\mathrm{TableViewBox}(\mathrm{RowSource}(1..5))
About
Examples1

Implementation

mappedwolframpackages/oracle/src/mappings.ts

Wolfram's TableViewBox takes a list of rows of boxes; this one takes a held row source, so it is ours.

See also: RowSource, GridBox, PaneBox