TableView:
Recent Developments

Jason Abernathy, WRI

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

ABSTRACT

TableView is a control for manipulating and displaying large amounts of data. Data structures containing millions of elements can be explored without a substantial performance penalty being incurred.

Recent improvements to TableView include the ability to toggle individual divider elements and a few experimental features that are designed to improve the visualization of structured data. Multi-dimensional headers allows rows and columns to be grouped. A DisplayFunctions option allows typesetting to be customized for different expression types.

Motivation

Interacting with large amounts of tabular data can be difficult

TableView

Efficient control for tabular data

Control Value

TableView[value_]

value is a ragged array

supports Dynamic

Field Type Argument

TableView[_,fieldType_]

restricts the value type

Null

Null is “no value”

Options

Appearance

AllowedDimensions, Background, Headers, HeaderSize, ItemSize, ItemStyle, Spacings

Behaviour

Alignment, AppearanceElements, Enabled, PickMode, PickedElements, Scrollbars, ScrollPosition

“Grid-like” options apply to rows/columns/items

AllowedDimensions

the number of columns and rows in the view

Background (Grid-like)

“cell” background colour

row and column values mix

“block” level rules do not mix

Headers (Grid-like)

row and column headers

Automatic is numerical

None, Null or absence of value leaves a blank

can be any expression

HeaderSize / ItemSize

row and column dimensions

default units of “ems” and “line heights”

Spacings

extra space between rows and columns

units of “points” ((1/72)inch)

Alignment (Grid-like)

row / column / item alignment

AppearanceElements

user interface widgets

PickMode, PickedElements

selection interaction

Scrollbars, ScrollPosition

control scrolling

New Features

Dividers

FieldType (grid-like)

ItemStyle

Spanning Headers

In Development

DisplayFunctions

Multidimensional headers

Dividers

control the lines between interior rows and columns

FieldType (grid-like)

set the field type (Number, String, etc) on a per- row, column, or item basis

ItemStyle

adjust the style of elements on a per- row, column, or item basis

Spanning Headers

span headers across multiple rows or columns

DisplayFunctions

box transformation rules for elements

Multidimensional Headers

Thank You!

Questions?

Future

Copy / Paste

Nested TableView

Support more data types (Dataset?)

Better Controls

peopleData=RandomSample[];