Перетаскиваем колонки в таблице
Если количество колонок в таблице велико, то часто пользователи хотят управлять их расположением самостоятельно. Если система многопользовательская, то например для пользователей из разных отделов заказчика, одни и те же колонки в таблице имеют разное значение. В такой ситуации пользователю проще самостоятельно подстроить их расположение и сохранить его например в cookie. Основная идея, устанавливаем в нужной нам таблице аттрибут draggable и перехватываем все приходящие dnd сообщения. Для этого прикручиваем наши обработчики.
При необходимости, можно например изменить курсор мышки в dragstart/dragend, или можно добавить эффект перескакивания колонки по ходу движения мышки в dragleave/drop.
Исходники можно посмотреть и загрузить с github.