Передвинуть колонки внутри группы
Здравствуйте, как можно сдвинуть колонки внутри группы?
есть вот такая таблица http://joxi.ru/l2ZRRPPF83Eaz2 мне нужно менять местами группы колонок и колонки внутри групп. Группы двигать получается, делаю это примерно так: var h = grid.headerCt; h.move(i, 0); а как менять местами колонки внутри группы? у меня выдается ошибка Cannot read property 'isGroupHeader' of undefined Использую Ext 6 |
Делать такие штуки не очень просто, но возможно. См. Ext.grid.header.DropZone.onNodeDrop(), там содержится логика обработки перемены мест колонок через drag'n'drop.
|
Неужели дочерние колонки никак нельзя перемещать способом аналогичным перемещению групп?
|
Перемещать-то можно, но Grid, в зависимости от конфигурации, может состоять из трёх или более компонентов. Это выглядит он монолитно, а внутри вполне змеиное гнездо, в которое лазить надо осторожно и только если нет публичного API. А в данном случае я его не вижу.
Могу открыть feature request на эту тему, но шансы, что у Найджа дойдут до него руки в ближайшие N месяцев, стремятся к нулю. |
Ха, а вот я и оказался неправ: спросил Найджа, он утверждает, что можно просто использовать обычные методы контейнера и всё должно просто работать.
Что-то типа такого: Код:
var headerCt, columns; |
работает но не совсем так как надо. Допустим это исходное положение колонок http://joxi.ru/GrqXXnnINObyjA
Я хочу поменять местами колонки в группе СМР. Вот что происходит в итоге http://joxi.ru/Vm6xx88hxkKzvA т.е колонка поменялась местами с группой а не с соседней колонкой |
Ок, значит я неправильно понял исходную задачу. В этом случае вам нужно делать всё то же самое, но на *групповой колонке* - она тоже контейнер.
Код:
var headerCt, groupColumn, innerColumns; |
благодарю! буду тестить
|
Часовой пояс GMT +3, время: 02:20. |