Building a rich table as a custom component

How would I go about adding support for setting a table to be not visible, then making it visible with a link or button?