maneira correta de ocultar / mostrar colunas no DBGrid

Estou iniciando um novo projeto de banco de dados, onde tenho algumas tabelas e talvez 20 colunas para mostrar no DBGrid, mas sei que não é possível mostrar todas as 20 colunas no Grid, pois isso precisará de muito espaço. Eu preciso dessa opção para que o usuário possa ajustar quais colunas mostrar ou ocultar. qual seria uma solução fácil e adequada para isso? outras soluções também serão aceitas.

Obrigado a todos por qualquer ajuda.

questionAnswers(1)

yourAnswerToTheQuestion