ColumnLayout sets the column list in items property to rearrange grid columns.
You can put the column included in column group to the top, and can also organize a new column group by collecting columns in other column group. Of course, you can show or hide the column which is not displayed currently.
After registering ColumnLayout in grid by GridBase.registerColumnLayouts, it will be set in grid by columnLayout property.