Вот простое доказательство концепции: https://stackblitz.com/edit/poc-column-selector Таблица скрыта, если столбцы не выбраны, если выбрать один или несколько столбцов, они отображаются с использованием полной ширины (flex).
Отображаемый порядок столбцов определяется их порядком в массиве строк с определениями столбцов, а не порядком разметки в html-файле.