When it draws nothing

A blank column has one cause and the table has already named it. Where it says so.

Nearly every way to wire a table wrong ends up looking the same. A column draws nothing, and there is no other sign of it. The table does not guess and it does not fail quietly. It says what is wrong and what to change, in one of three places.

The compile stops you first

Three of the mistakes never reach a running game at all. They stop the Widget Blueprint compiling, and the error names the column.

Two columns, one id
Every lookup takes the first, so the later one never draws, sorts or hides. Give it its own Column Id, or delete it.
A binding that matches nothing
The error lists what the class does offer, so the fix is on screen next to the mistake.
A source that can't be read
An Expected Item Class or Source Table that no longer resolves. A missing Source File isn't checked at compile: Copy Columns From Source warns in the log when you press it.

You find these out on compile, not from a blank column at runtime.

Warnings, and what they promise

Everything else turns up as a warning in the output log. Each one says what is wrong and what to change:

Column 'Shield' draws nothing: it binds 'Shielding',
which is no property and no pure function on BP_Ship_C
that takes no parameters. Set the BindingName of the
column to one of these, or set the ExpectedItemClass of
the table to get a dropdown of them.
Available: Callsign, Shield, Mass, Speed

A warning here means a real mistake in the setup, and you will not see many. Nothing warns about a setup that is supported, however odd it looks. So a warning you do see is one worth reading.

That is the whole deal. A table that stays quiet while it works is the only kind you can trust to speak up when it stops.

Warnings you are most likely to meet:

A null in the array
Set Items says how many it dropped and of how many. A failed cast is the usual cause.
A DataTable with no row struct
Every column over it draws blank. Pick the Row Structure on the asset.
A cell class that won't build
Abstract, or not a Smart Table Cell.
A store with no id
Layout Store set and Table Id empty, so no layout is ever written.
A row menu with nothing in it
Turned on, and no entries to show.
Fit Rows with no ceiling
It asked for the height of every row it holds. Set Max Visible Rows.

5 log categories

Turn one on in the console and it brings nothing else with it. They are split up by the question you are asking, never by file:

Log LogSmartTables Verbose            the widget itself
Log LogSmartTablesData Verbose        where the values come from
Log LogSmartTablesLayout Verbose      where the columns are
Log LogSmartTablesSort Verbose        what order the rows are in
Log LogSmartTablesInput Verbose       how the table was reached

Turn them on one at a time. Nearly every line is Verbose, so all five at once fills the log with four answers you never asked for. The console takes one name per command anyway.

Drawing the wrong thing, or nothing
Data. Bindings, models, schemas, filters.
Columns the wrong width, or missing
Layout. Widths, resizes, show and hide, reorder, the stored layout.
Rows in the wrong order
Sort. The spec, a dispatch and its result, a refused second level.
A gesture that did nothing
Input. Selection, focus, scrolling, drags. It carries the function and the gesture alike, so a pad logs what a mouse logs.
Anything else
LogSmartTables. Style assets and the palette, the row wrapper class, the busy state. Building the widget and swapping the model log under Data, and menus under Input.

Use VeryVerbose instead for anything that runs per row or per cell. At a million rows that is a huge number of lines, which is why it sits in a tier of its own.

Seeing it instead

Three of them draw the answer on screen instead of logging it.

Where the keyboard is
Show Focus Border, on by default. Focus moves for reasons nothing else shows, such as a menu closing or a click taken by the widget above the table.
Which column the keys aim at
Show Column Caret. Turn on Column Caret Needs Focus and it hides while the keyboard is elsewhere.
Rows before you have data
Preview Row Count draws that many in the designer. Zero previews the empty state, which is the only way to see it without running the game.

If a sort looks like it is hanging, Busy Overlay Delay Seconds is how long work runs before the overlay turns up. Shorten it to catch work that was finishing too quickly to show one.

Next: A model in Blueprint