Программная перестановка группировок СКД #485688


#0 by jk3
Настройки схемы компоновки -> Группировки Юзер сам может переставить группировки как ему хочется с помощью dran'n'drop-а. Например, из группировок Организация - Подразделение сделать Подразделение - Организация Вопрос: Как это сделать программно? Думал использовать свойства объекта ГруппировкаКомпоновкиДанных Родитель и Структура. Но у них Использование: Только чтение.
#1 by jk3
Уже и скриншоты есть. Идеи?
#2 by IronDemon
Пусть ручками и тягает ;)
#3 by johnbay
КомпоновщикНастроек.Настройки.Структура и переделывай как тебе надо
#4 by jk3
Если бы можно было, то этой темы не появилось бы. Дык там и ковыряюсь: говорю ж ни родителя просто так не поменяешь ни всю низлежащую структуру не скопируешь
#5 by cViper
Как варинта сделай 2 группировки и переключайся между ними. Это несложно.
#6 by johnbay
ЭлементСтруктуры.Значение.Строки или ЭлементСтруктуры.Значение.Колонки Строки    КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных     КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных (DataCompositionTableStructureItemCollection) Элементы коллекции: ГруппировкаТаблицыКомпоновкиДанных Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются группировки. Возможно обращение к группировке посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0). Свойства: ИдентификаторПользовательскойНастройки (UserSettingID) Методы: Вставить (Insert) Описание: Содержит элементы структуры настроек, вложенных в таблицу или в группировку таблицы. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. См. также: ТаблицаКомпоновкиДанных, свойство Колонки ТаблицаКомпоновкиДанных, свойство Строки ГруппировкаТаблицыКомпоновкиДанных, свойство Структура
#7 by johnbay
Если их можно ранить, значит их можно убить © Хищник
#8 by jk3
это не вариант Нужно сделать универсально, чтобы, например, можно было сделать из такой иерархии сделать такую т.е. облегчая себе задачу так, что группировки идут по дереву "в струнку" ну и.. хелп я тоже умею читать хотя бы метод Добавить раскрывал? т.е. при вызове этого метода вот так добавляется девственно чистая группировка А нужно чтобы как и в drag'n'drope переносились группировки целиком, со всеми настройками, т.е. чтобы только менялся их родитель.
#9 by Dzenn
Евгений, открывай отладчик при выполнении и смотри структуру компоновщика. Там туева хуча полей, но в общем и целом, потеряв пару часиков, можно разобраться. У меня например для <выключения> (не твой случай, но рядом) полей такой код:
#10 by Stim
имхо, лучше сделать несколько вариантов настроек отчета и сохранить эти настройки в файл на юзерском компе. Экономя трудозатраты
#11 by jk3
Ха, ну включить/выключить не проблема еще могу тебе посоветовать использовать не свойство Использование, а Состояние. В отличие от Использование = Ложь, состояние группировки Отключен не влияет на вложенные в нее группировки. Т.е. такой строкой мы отключаем самую верхнюю иерархию, но выводятся все остальные. В то время как если бы использовали Использование = Ложь, все низлежащие группировки не выводились бы. Ну это так, к слову. Задача в оригинале такая: произвольно включать/отключать группировки и переставлять их (при условии, что на каждом уроне только одна группировка) Т.е. половину с включением/выключением я уже решил. Теперь помогите пожалуйста решить проблему с программной перестановкой группировок местами. Визуально то всё как-то работает.
#12 by Andry888
Ну сделай функцию swap(Gr1,Gr2) , а внутри перемещай содержимое группировок (а не сами группировки)... т.е. выбранные поля переставь, поля группировки, отборы и т.п.
#13 by jk3
угу, неужели это еще никто не делал? Может есть проще вариант, слишком уж дофига в себя группировка включает, чтобы все эти Отборы, Порядки и поля переносить. Да, и нужно тащить за собой всю низлежащую иерархию...
#14 by Andry888
тащить иерархию... отставить! Зачем, если ты две группировки меняешь местами, структуру оставляй прежнюю + основное это не так много - группировки да выбранные поля...
#15 by jk3
Ну да, в простейшем случае, это 1 поле группировки. Оно же в выбранных полях + ресурсы. Это если не использовать Отборы, Сортировки, Условное оформление и Другие настройки для группировок. Надо попробовать. Всё же перестановка группировок целиком мне больше нравится. Но то ли это не реализуемо, то ли я пойму как это осуществить слишком поздно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям