You can build a table using a dynamic component extension, then program it's behaviour with blocks
Example: