Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Древоподобный отчет  (Read 1758 times)

snakeZ

  • Newbie
  • *
  • Posts: 4
    • View Profile
Древоподобный отчет
« on: June 09, 2017, 12:26:56 PM »
Подскажите, есть ли трюк, позволяющий красиво вывести древовидную таблицу?

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

Пока что я взял таблицу, отключил в левой колонке "trimspaces" и делаю отступы для дочерних элементов. Но хотелось бы добавить картинки "открытых папок" и правильно их выровнять с последующим текстом.

В идеале левая колонка должна иметь вид:
[ отступы в зависимости от степени вложенности ][ открытая папка ][ текст ][ оставшееся пустое место в колонке ]
Элемент [открытая папка] может отсутствовать или как-то "схлопываться" до 0..1 пикселей, если в нем нет дочерних элементов.

Я не ожидаю от LimeReport поддержки древовидной структуры данных (хотя чем черт не шутит, может, оно уже есть?) Дерево я умею конвертировать в таблицу, рассчитывать нужное число отступов и т.п. Но вот как мне сделать такое выравнивание, чтобы
1) группа из трех элементов (отступы, картинка, текст) выравнивалась полевому краю как единое целое,
2) чтобы в ней средний элемент мог отсутствовать в зависимости от data source?

Subst

  • Sr. Member
  • ****
  • Posts: 444
    • View Profile
Re: Древоподобный отчет
« Reply #1 on: June 09, 2017, 02:37:05 PM »
Не буду в испорченный телефон играть. Сам просил Алекса прислать пример реализации дерева, он присла, но я еще не ковырял. Спроси у него.
Основная суть (я думаю, у него не сильно отличается от моих мыслей) - это работа через callBackDatasource и разбиение твоего дерева на несколько частей по уровням Узлов, или обработка дерева в getCallbackData, соответсвенно также с учетом вложенности.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Древоподобный отчет
« Reply #2 on: June 12, 2017, 01:52:13 PM »
В LimeReport можно организовать деревья, но для того чтобы сделать неограниченную глубину вложенности, нужно делать специальный банд :) Если будет время возможно прикручу эту возможность. Даже при заранее известном количестве уровней довольно муторно делать дерево в LimeReport :)