Выравнивание объектов. Научите как...

perceptronperceptron Минск
отредактировано 19:54 Раздел: FastReport 4.0
Здравствуйте.

Проблема нарисовалась такая:
Построил обычный отчёт с группировкой. Всё выводит замечательно на выходе.
Но с экспортом отчёта есть определённые трудности с отрисовкой при экспорте скажем в html или excel.

Проблема: Не отрисовываются местами вертикальные разделители колонок.

Использовал в дизайнере только компоненты TfrxMemoView ("Текст"), у которых выставлял показ контурных рамок :

3eb00b055554.png

Сверху над текстом размещал тоже текст который отображал поля из бэнда. (текст не перекрывает рамку)

Сам отчёт в дизайнере выглядит так:
1525f2f052aa.png

После вывода отчёта - всё выглядит отлично (в том числе и при экспорте в PDF получаем WYSIWYG):
4e1f2557e36c.png

НО ПРОБЛЕМА при экспорте в другие форматы! Например вот так выглядит экспорт в HTML (IE8):
ff029ef3c903.png

Научите как побороть проблему с отрисовкой вертикальных разделителей полей ? - может кто с таким сталкивался...





Комментарии

  • xlaalaaxlaalaa Минск
    отредактировано 19:54
    Ключевое здесь:
    perceptron написал: »
    Сверху над текстом размещал тоже текст который отображал поля из бэнда. (текст не перекрывает рамку)

    Наслоение ячеек как раз и приводит к подобному дефекту при выгрузке. Чтобы вывести поле не нужно делать две мемки типа одну с рамкой другую с данным по верх нее. Делайте одну мемку.
    perceptron написал: »
    Вдержка из документации "FastReport® 3 Enterprise Edition руководство программиста"

    Рекомендации по разработке отчетов FastReport, результат которых будет представлен в табличных форматах

    Очень многие форматы используют табличное представление данных. Популярными являются форматы HTML, XLS, XML, RTF.

    Никаких пересечений или наслоений ячеек в подобных форматах недопустимо (если брать в рассмотрение именно табличную разметку, это касается HTML и RTF), в отличии от свободы в процессе разработки шаблона отчета в дизайнере FastReport. Фильтры экспорта, как правило, максимально учитывают эти требования при переносе объектов из отчета FastReport в результирующий файл. Это реализуется при помощи специальных алгоритмов учета пересечений объектов и оптимального их расположения. В местах пересечений объектов возникают новые столбцы и строки в результирующей таблице. Это необходимо для сохранения точного позиционирования переносимых объектов FastReport. Большое количество пересекающихся объектов в отчете приводит к росту числа столбцов и строк в таблице, что усложняет ее дальнейшее использование в и замедляет процесс экспорта.

    В процессе разработки шаблона отчета помните об этом, если Вы хотите в последующем экспортировать свои отчеты в какой-либо из форматов, отличный от внутреннего формата FastReport.

    * Избежать перекрытия ячеек помогут инструменты выравнивания текстовых объектов по сетке. Проследите за тем, чтобы было включено выравнивание по сетке. Для упрощения выравнивания можно увеличить шаг сетки.

    * При создании таблиц в отчетах проследите чтобы границы соседних ячеек соприкасались друг с другом.

    * Важно, чтобы ячейки не пересекались. Алгоритм фильтра экспорта сделает отсечение ячеек, но результат экспорта может быть далек от желаемого (вы увидите не совсем то, что хотели).

    * Располагайте объекты так, чтобы они находились на одной линии, как по вертикали, так и по горизонтали. В этом могут помочь выносные линии.

    Применение этих простых правил на практике поможет Вам создать отчет, который будет прекрасно выглядеть после экспорта в любой из форматов, которые используют табличную разметку для представления данных.
  • xlaalaaxlaalaa Минск
    отредактировано 19:54
    Вам встречный вопрос. :) Как вы делали такие зачетные скриншоты? Оторванный лист и тень хорошо смотрится.
  • perceptronperceptron Минск
    отредактировано March 2011
    Отлично, земляк!
    Попробовал - Чудо свершилось !

    Спасибо!
  • perceptronperceptron Минск
    отредактировано 19:54
    Скриншоты делал простенькой небольшой программулинкой FastStone Capture
    (которые FastStoneViewer пишут)

    За 5 сек вот такие скрины клепаются.
  • perceptronperceptron Минск
    отредактировано March 2011
    Тут ещё походу вопрос возник:
    Как сделать отступ справа в ячейке (числового типа), где данные из бэнда выводятся ?
    Например в поле Таб.№ - которое прижато к правому краю.
    Если в самой ячейке делать HAlign = haRight, то прижимается впритык к правому краю.

    Как сделать нужный отступ справа ?
  • perceptronperceptron Минск
    отредактировано March 2011
    отвечу сам себе:
    свойство GapX помогло

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.