The end user can resize, reorder, or hide columns by using drag-and-drop or you can control their width, position and visibility programmatically.
Figure 1. Resizing a column with the mouse
Figure 2. Reordering a column with the mouse
Figure 3. Hiding a column with the mouse