Здравствуйте!
Помогите, пожалуйста, решить следующую проблему.
FastReport 4.10
Есть табличный отчет. Нужно объединить соседние вертикальные ячейки с одинаковым текстом, при чем, текст в объединенной ячейке выравнять по центру. Чтобы не усложнять задачу динамическим рассчетом количества столбцов, в которых нужно объединять ячейки, можно представить что их будет 3 или 4, как удобнее.
Варианты решения:
1. Компонент TfrxCrossView. С задачей справляется, но на больших объемах данных формировка отчета занимает больше 5 минут, что не является допустимым;
2. Манипуляция границами компонентов TfrxMemoView. Наиболее успешный способ, который удалось реализовать, но максимум, что получается с выравниванием внутри ячейки - это печать текста вверху ячейки или, печать текста в "центральной" ячейке группы одинаковых значений.
Начал думать в сторону использования вложенных друг в друга SubReport, но пока приостановился.
Не подтолкнете к мысли? Заранее благодарен.
P.S. Для лучшего понимая приведу структуру таблицы:
! Департамент ! Подразделение ! Должность ! Фио !
+-----------------------------+-----------+-----+
! ! 11 ! 21 ! 31 !
+ +---------------+-----------+-----+
! 01 ! ! ! 32 !
+ + 12 + 22 +-----+
! ! ! ! 33 !
+-------------+---------------+-----------+-----+
Нравится
Николай, действительно, есть несколько вариантов решения:
1. Использовать Cross – tab.
2. У текстового объекта установить свойство " SuppressRepeated", но оно позволяет только скрывать повторяющиеся значения, но не объединять их.
Таким образом, необходимо динамически скрывать повторяющиеся значения и у них манипулировать с рамками.
Подобный вопрос рассматривался здесь:
http://www.sql.ru/forum/actualthread.aspx?tid=645484
http://www.fast-report.com/ru/forum/index.php?showtopic=3532&mode=linear