No-Library (pure JS), HTML, CSS, JavaScript
jQuery (edge), HTML, CSS, JavaScript
When the number of datasource object's fields is less than columns, users cannot move columns.