Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткие теоретические сведения. В DELPHI/LAZARUS/LAZARUS на странице палитры компонентов QReport расположено около двух десятков компонентов






В DELPHI/LAZARUS/LAZARUS на странице палитры компонентов QReport расположено около двух десятков компонентов, применяемых для построения отчетов. Основным компонентом является TQuickRep, определяющий поведение отчета в целом. Другие компоненты определяют составные части отчета.

TQRBand - заготовка для расположения данных, заголовков, титула отчета и др.» отчет, в основном, строится из компонентов TQRBand, которые реализуют:

область заголовка отчета;

область заголовка страницы;

область заголовка группы;

область названий столбцов отчета;

область детальных данных, предназначенную для отображения данных самого нижнего уровня детализации;

область подвала группы;

область подвала страницы;

область подвала отчета.

TQRSubDetail - определяет область, в которой располагаются данные подчиненной таблицы при реализации в отчете связи Master-Detail на основе существующей связи между ТБД;

TQRGroup - применяется для группировок данных в отчете;

TQRLabel - позволяет разместить в отчете статический текст;

TQRDBText - позволяет разместить в отчете содержимое поля набора данных;

TQRExpr - применяется для вывода значений, являющихся результатом вычисления выражений, алгоритм вычисления выражений строится при помощи редактора формул данного компонента;

TQRSysDate - служит для вывода в отчете даты, времени, номера страницы, счетчика повторений какого-либо значения и т.д.;

TQRMemo - служит для вывода в отчете содержимого полей комментариев;

TQRRichText - служит для вывода в отчете содержимого полей форматированных комментариев;

TQRDBRichText - служит для вывода в отчете содержимого полей форматированных комментариев, источником которых является поле набора данных;

TQRShape - служит для вывода в отчете графических фигур, например, прямоугольников;

TQRImage - служит для вывода в отчете графической информации, источником которой является поле набора данных;

TQRChart - служит для встраивания в отчет графиков

Компонент TQuickRep определяет поведение и характеристики отчета в целом. При размещении этого компонента в форме в ней появляется сетка отчета. В дальнейшем в этой сетке располагаются составные части отчета, например, группы TQRBand.

Перечислим важнейшие свойства, методы и события компонента TQuickRep.

Свойство property Bands: TQuickRepBands;

состоит из множества логических значений (False/True), которые определяют включение в отчет отдельных видов составляющих:

HasColumnHeader - заголовка столбцов отчета;

HasDetail - детальной информации;

HasPageFooter - подвала страницы;

HasPageHeader - заголовка страницы;

HasSummary - подвала отчета;

HasTitle - заголовка отчета.

Свойство property DataSet: TDataSet; указывает на набор данных, на основе которого и создается отчет. Обычно для выдачи отчета используется один НД.

Если нужно вывести связанную информацию из нескольких таблиц БД, ее объединяют в одном НД при помощи оператора SELECT. В этом случае в качестве НД для отчета может использоваться компонент TQuery. Информацию из нескольких связанных НД можно включать в отчет, если эти наборы данных связаны в приложении отношением Master-Detail. В этом случае в качестве НД отчета указывается Master-набор, а ссылка на соответствующие Detail-наборы осуществляется в компонентах TQRSubDetail.

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

Свойство property Frame: TQRFrame; определяет параметры рамки отчета:

Color - цвет линии рамки;

DrawBottom - определяет, следует ли выводить линию снизу;

DrawLeft- определяет, следует ли выводить линию слева;

DrawRight- определяет, следует ли выводить линию справа;

Draw Top- определяет, следует ли выводить линию сверху;

Style - определяет стиль линии;

Width - определяет ширину линии в пикселях.

Свойство property Page: TQRPage; определяет параметры страницы.

Свойство property PrinterSettings: TQuickRepPrinterSettings; определяет параметры принтера.

Свойство property PrintIfEmpty: Boolean; у казывает (True), что следует печатать отчет даже в том случае, если он не - содержит данных.

Методы

procedure NewPage; в ыполняет переход на новую страницу. Может использоваться в обработчиках событий компонентов отчета BeforePrint или AfterPrint и не может - в обработчиках событий OnPrint, OnStartPage и OnEndPage.

procedure Preview; выводит отчет в окно предварительного просмотра.

Чтобы во время разработки отчета просмотреть в окне предварительного просмотра содержимое отчета в том виде, как он будет выводиться на печать, необходимо:

· выбрать отчет при помощи мыши;

· нажать правую кнопку мыши;

· во всплывающем меню выбрать элемент Preview.

Следует заметить, что при этом не будут видны некоторые данные, например, значения вычисляемых полей наборов данных. Они будут выводиться только во время выполнения.

Методы:

procedure Print; печатает отчет на принтере.

procedure PrinterSetup; обеспечивает установки параметров принтера.

События:

property AfterPrenew: TQRAfterPreviewEvent; наступает после закрытия окна предварительного просмотра отчета.

property AfterPrint: TQRAfterPrintEvent; наступает после вывода отчета на печать.

property BeforePrint: TQRBeforePrintEvent; наступает в момент генерации отчета, до выдачи окна предварительного просмотра отчета и до вывода отчета на печать.

property OnEndPage: procedure(Sender: TObject); наступает в момент подготовки к генерации последней страницы отчета.

property OnStartPage: procedure(Sender: TObject); наступает в момент подготовки к генерации первой страницы отчета.

Компоненты TQRBand являются основными составными частями отчета и используются для размещения в них статического текста и данных. Месторасположение компонента в отчете и его поведение определяются свойством property BandType: TQRBandType;

Ниже перечислены возможные значения этого свойства:

rbTitle • определяет компонент заголовка отчета. Информация, размещенная в компоненте TQRBaftd, располагается перед всеми другими частями отчета. Этот вид компонента TQRBand используется для вывода заголовочной информации отчета.

rbPageHeader - онределяет компонент заголовка страницы. Информация, размещенная я компоненте с этим значением свойства BandType, выводится всякий раз пр» печати новой страницы отчета прежде всех иных частей отчета (но после информации, размещенной в компоненте заголовка отчета - для первой страницы).

rbDetail - компонент детальной информации. Выводится всякий раз при переходе на новую запись в НД отчета. Отчет печатается для всех записей НД, определяемого свойством отчета DataSet, начиная с первой записи и заканчивая последней. Позиционирование на первую запись и последовательный перебор записей в НД осуществляется компонентом TQnickRep автоматически.

rbPageFooter - компонент подвала страницы. Выводится для каждой страницы отчета после всех иных данных на странице.

rbSummary - компонент подвала отчета. Выводится на последней странице отчета после всей иной информации, но перед подвалом последней страницы отчета

rbGroupHeader - компонент заголовка группы. Применяется при группировках информации в отчете. Выводится всякий раз при выводе новой группы.

rbGroupFooter - компонент подвала группы. Применяется при группировках информации в отчете. Выводится всякий раз при окончании вывода группы, после всех данных группы.

rbSubDetail - компонент для выдачи детальной информации из подчиненного набора данных, при выводе в отчете информации из двух или более наборов данных, связанных в приложении при помощи механизма Master-Detail. Это значение присваивается компоненту автоматически, когда генерируется компонент TQRBand при размещении в форме компонента TQRSubDetail. Программа не должна устанавливать это значение в свойство BandType.

• rbColumnHeader - компонент для размещения заголовков столбцов. Размещается в отчете на каждой странице после заголовка страницы.

rbOverlay - используется для совместимости с более ранними версиями отчетов.

Свойство property Enabled: Boolean; указывает, печатается в отчете (True) или нет (False) информация, содержащаяся в компоненте TQRBand.

Свойство property ForceNewPage: Boolean; указывает, должна ли информация в составе TQRBand всегда печататься с новой страницы (True) или нет (False).

Событие property BeforePrint: TQRBeforePrintEvent; наступает перед печатью информации, размещенной в области компонента TQRBand.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.