Hi!
Perhaps Datagrid 2 can help you with this? You start with a display of all columns in your datagrid. By clicking on the eye icon (the "column selector"), users can then deselect the columns they wish to hide:
It's a bit the other way around - Instead of pre-selecting the columns the user wants to see, the user deselects the ones they don't want to see.
To utilize this feature, ensure that in the settings of the Datagrid2, under the "Personalization" tab, you have "Hiding" set to "yes."