Рекурсивные подотчёты?
Возможен ли сабж?
Если нет, то как можно красиво реализовать вывод дерева с неограниченной вложенностью?
Если нет, то как можно красиво реализовать вывод дерева с неограниченной вложенностью?
Комментарии
на сервере и вернуть его одним набором данных.
2. Если сможешь вернуть дерево в виде (незная структуры дерева сложно сказать о сложности этой задачи)
то собирая на лету отчет с GroupHider - ами вывести не сложно.
Я делал 1 способом т.к. вторым было совсем не реально,
но помучился изрядно.
1 способ - с неограниченым уровнем вложенности? Думал, но сложно получается... Это надо для любого элемента формировать некий признак, сортировка по которому однозначно расположит его под своим парентом... Ситуация осложняется участием нескольких разных таблиц(сущностей) в отчёте.
Хотя, несомненно, так можно
2ой - Гмм... А это не то-же самое по сути? Или я что-то не понял?
-=Den=-
К сожалению, в скриптах еще не до конца разобрался, так что с трудом представляю как
А вот положить на бэнд подотчёт = текущему отчёту... Как бы было здорово Но в дизайнере не получается Это в принципе нельзя, или можно таки скриптами сделать?
не свосем
в первом случае возврашается набор данных типа: т.е. все дерево в одном поле ну и добавляется поле уровеня иерархии чтобы правильно с отсупами визуализировать
а во втором для кажого уровня дерева свое поле, притом неважно в каком порядке ты быдешь получать записи, ты всегда сможешь сделать
Order By по всем полям.
боюсь что не выдет.
Дело в том, что отчет (а точнее его бенды) ссылаються на
некий набор данных(НД) и при построение отчета изменяеться положение курсора указывающего на активную запись этого НД.
Следовательно если два отчета будут ссылаться на один набор данных и
при этом будут одновременно строиться (отчет - вложенный очет) то получиться следующая картина:
Первый отчет берет первую запись из НД,
Перехоим к вложенному отчету который пробегает по всем записям НД.
Возвращаемся к первому отчету, который видя что записей
больше нет (курсор на последней записи) с чуством выполненого долга
говорит что все готово можешь смотреть.
Один из вариант создавать на лету для каждого подотчета
свой набор данных (например TfrxADOQuery) попробуй может что получиться.
Когда я решал подобную задачу TfrxADOQuery еще небыло поэтому помочь не чем не могу.
Можно еще попроовать побаловаться с перемешение курсора по набору данных ручками. Но при рекурсии...
Спасибо за подробное обьяснение Да, так и моя мысля работала. Query создать динамически уже представляю как, а вот, как бы так выразиться..., создать экземпляр уже существующего подотчёта? (Еще раз извиняюсь, пока со скриптами только разбираюсь, может быть, что путаю) Когда в дизайнере рисуешь подотчёт - это, экземпляр класса "отчёт" с настройками всякими, или child-класс? Экземпляры которого можно создавать.. Иначе придётся в коде прописывать полностью структуру подотчёта, что, уже представляется как можно сделать, но, имхо, неадекватное решение.
Вопрос уже перешёл в разряд академических, так как решил проблему на SQL уровне. Но, всё жэ, очень интересно