Hi Andie,
You can achive this with a Datagrid2.
Just create a string ( unlimited ) attribute in your User Entity ( for example UserListConfig) and set this attribute in Datagrid Config -> Personlaziation.
Now you can reorder your Columns and it will stay. Every User can have his own View.
Hope this Helps,