Отображение древовидной структуры в Crystal Reports - PullRequest
0 голосов
/ 15 октября 2008

Кто-нибудь знает способ представления древовидной структуры в Crystal Reports? Моя большая проблема в том, что Я не знаю глубину дерева . Он представлен в таблице базы данных с помощью простого отношения «childId -> parentId».

Прекрасным примером будет открыть Windows Explorer и посмотреть на дерево каталогов с левой стороны. Если кто-нибудь знает способ представления этого дерева, то оно сработает и для того, что мне нужно сделать.

Мои первые попытки были:

1) для программного (в C #) добавления групп в отчет. К сожалению, вы не можете создать новый экземпляр класса Group и добавить его в коллекцию Groups.

2) рекурсивно вкладывать один и тот же отчет в себя для каждого уровня. Другими словами:

mainReport
  subReport
    subReport
    subReport
  subReport
  subReport
    subReport

и т.д ...

К сожалению, SubReports не может содержать SubReports.

Я действительно не хочу просто добавлять X количество групп в отчет и скрывать те, которые мне не нужны, потому что мне нужно добавить фиксированное количество вложенных групп, но технически дизайн данных может поддерживать бесконечная глубина, хотя на практике мы видим до 5 уровней глубины.

Итак, есть еще идеи?

1 Ответ

4 голосов
/ 05 ноября 2008

Crystal XI добавил иерархическую группировку. Вы найдете это в меню Отчеты. Я составил краткий отчет с диаграммой организации с глубиной n-уровня, используя это. Таблица базы данных выглядит так: Я бы название ManagerID

В Crystal Report вы выбираете эти столбцы, группируя по идентификатору. Затем в меню «Параметры иерархической группировки» в разделе «Отчеты» установите флажок «Группировать данные иерархически», идентификатор родительского идентификатора и соответствующий отступ.

Вывод похож на дерево, которое вы описали в Проводнике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...