This sample show how it's possible to create a table of nodes.

There are actually three categories of nodes: one that displays information about the data, one for the column headers, and one for the row headers.

This sample defines a custom layout, TableLayout, which figures out how many cells there need to be, how many nodes belong in each cell, how big each cell needs to be, and how wide or tall each column or row needs to be.

However, unlike most layouts, this custom layout also creates the strokes that divide the rows and columns. Those strokes are held in a Canvas that is in an unbound Node (i.e. that is not bound to any data) in the "Background" layer.