Форматирование заголовка

Оценить
(0 голоса)

Практически все задачи по форматированию отчета могут быть выполнены с помощью вызовов RCAPI. Ниже показан фрагмент кода для форматирования только что добавленного в заголовок отчета объекта:

*    Форматирование заголовка

With ReportTitle .HorAlignment = crHorCenterAlign .LeftLineStyle = crLSSingleLine .RightLineStyle = crLSSingleLine .TopLineStyle = crLSSingleLine .BottomLineStyle = crLSSingleLine .HasDropShadow = True .Font.Size = 18 .Font.Bold = True .TextColor = &H808000 .Height = 500 .Width = 4500

End With

Далее в приложении-примере в раздел подробностей отчета добавляется четыре поля базы данных:

' Добавление полей в раздел подробностей

*    Обратите внимание на то, что доступ к коллекции Sections можно

' получить как с помощью числового, так и с помощью строкового индекса

Report.Sections("D”).AddFieldObject "{ado.Order ID}", 750, 5

Report.Sections("D").AddFieldObject "{ado.Order Date}", 3150, 5

Report.Sections("D").AddFieldObject "{ado.Order Amount}", 5500, 5

Report.Sections("D").AddFieldObject "{ado.Ship Via}", 8850, 5

Перемещение по иерархии объектов RDC в разделе подробностей подобно тому, которое используется для добавления объектов в раздел заголовка отчета. Метод AddFieldObj ect добавляет поле базы данных, в качестве аргументов требуя указать имя поля базы данных, значение позиции слева и значение позиции сверху. Обратите внимание на то, что доступ к коллекции Sections можно получить с помощью как числового, так и строкового индекса. При желании вы могли бы также выполнить код для форматирования каждого из этих объектов.

На случай если вы захотите создать группы, в иерархии объектов имеются методы, предоставляющие все необходимые для этого возможности. Также доступны и опции, позволяющие создавать итоговые поля для групп и поля общих сумм для отчета. Приложение-пример RDC Report Creation создает в нижнем колонтитуле (Section 4) отчета поле общей суммы Order Amount с помощью такого кода:

' Создание и форматирование поля общей суммы Order Amount Grand Total

' в нижнем колонтитуле отчета

Dim AmountTotal As CRAXDDRT.FieldObject

' Создание отдельной переменной объекта исключает необходимость

' в перемещении вниз по иерархии при форматировании

Set AmountTotal = Report.Sections(4).AddSummaryFieldObject _

Report.Sections(3).ReportObjects(3).Field.Name, crSTSum, 6000, 750)

With AmountTotal .Width = 1500 .Font.Bold = True End With 'AmountTotal

В этом фрагменте кода необходимо обратить внимание на следующие моменты:

•    Для поля общей суммы был объявлен и назначен отдельный объект. Заметьте, что ни для текстового поля, ни для объекта поля это не делалось. И хотя создание множества объектов, как было показано в предыдущем примере, возможно, это потребует написания дополнительного кода и отслеживания всех дополнительных объектов. Цель данного примера — упростить процесс форматирования за счет исключения необходимости в перемещении вниз по иерархии объектов для установки свойств Width и Font.Bold.

•    К объектам, как только они будут добавлены в отчет, может применяться любой возможный вид форматирования. Обратите внимание, что для поля общей суммы Order Amount был увеличен размер и изменен тип шрифта (на “полужирный” (Bold)). Также далее ему присваивается такой атрибут форматирования, как UseOneSymbolPerPage, для того, чтобы в верхней части каждой страницы отображался только один знак доллара:

' Форматирование поля Order Amount с целью сделать так, чтобы вверху каждой страницы отображался только один знак доллара

Report.Sections(3).ReportObjects(3).UseOneSymbolPerPage = True

На этой стадии базовая структура отчета создана и содержится в объекте Report. Далее к объекту Report также могут быть применены любые дополнительные методы и свойства RDC, с которыми вы, возможно, уже более хорошо знакомы. Например, В приложении-примере отчет ограничивается заказами, доставленными через FedEx, следующим, уже известным, образом:

Report.RecordSelectionFormula = 11 {ado.Ship Via} = 'FedEx111

Теперь вы готовы приступить к просмотру, распечатке, экспорту или выполнению других Подобных функций с объектом Report. Вы также можете теперь передать этот частично спроектированный объект Report в конструктор Embeddable Report Designer, чтобы позволить конечному пользователю интерактивно изменять отчет, который вы уже начали проектировать в коде.

Например, если вы добавили Report Viewer в форму, отобразить отчет в Report Viewer позволит следующий код:

CRViewerl.ReportSource = Report CRViewerl.ViewReport

Сохранение отчета
Использование конструктора Embeddable Report Designer
Обзор распространения
Вопросы, касающиеся баз данных
Вопросы, касающиеся экспорта файлов

Добавить комментарий


Защитный код
Обновить