DataTable
Rows out of a DataTable asset, with the row struct deciding the cell types.

What the types buy
A row struct says what each field is. 10 of the 20 columns name the built-in editable cell and no editor. It draws a number box for a float, a tick box for a bool and a text box for a name. 6 number columns go further and name spin cells the demo builds as Widget Blueprints. Status is an enum, so it draws as plain text.
That is what separates it from the CSV and JSON demos, where every field is text because a text file carries no types with it.
How it's wired

The layout is a Widget Blueprint and the C++ holds the data. The table gets fed with Set Model rather than Set Data Table, because the demo subclasses the built-in DataTable model so it can catch an edit on its way past.
The asset itself is never written to. An edit goes into a map on the model, keyed by row name and column, and every read after that comes back through it. Where an edit lands is your model's call.
Next: CSV file