Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Распечатка ListView в Delphi XE8 с помощью FastReport

Delphi , Базы данных , Отчеты

Приветствую, уважаемые разработчики на Delphi! Сегодня мы рассмотрим, как распечатать содержимое ListView с помощью FastReport в Delphi XE8.

Содержание: 1. Введение 2. Подготовка формы 3. Настройка FastReport 4. Заполнение ListView данными 5. Написание кода для печати

1. Введение

FastReport — популярный отчетный инструмент для Delphi, позволяющий создавать профессиональные отчеты для печати и экспорта. В данной статье мы рассмотрим, как распечатать содержимое ListView в формате таблицы с помощью FastReport в Delphi XE8.

2. Подготовка формы

Для начала, разместите на вашей форме следующие компоненты:

  • TButton (Кнопка)
  • TListView (ListView)
  • frxReport (Отчет FastReport)
  • frxUserDataSet (Данные пользователя)

3. Настройка FastReport

Теперь перейдем к настройке FastReport. Двойным щелчком выберите frxReport и в дизайнере FastReport выполните следующие действия:

  1. Добавьте на отчет ReportTitle (Заголовок отчета), MasterData (Мастер-данные) и PageFooter (Нижний колонтитул) полосы.
  2. Выберите Report -> Data в меню и установите флаг frxUserDataSet, затем нажмите OK.
  3. Привяжите MasterData полосу к frxUserDataSet, щелкнув по полосе и выбрав frxUserDataSet в появившемся окне, затем нажмите OK.
  4. Добавьте Text object (Текстовый объект) в MasterData полосу и введите [element] в его свойстве Memo.

Дизайнер FastReport должен выглядеть следующим образом:

Дизайнер FastReport

4. Заполнение ListView данными

Теперь напишем код для заполнения ListView данными. В событии OnCreate формы добавьте следующий код:

procedure TForm8.FormCreate(Sender: TObject);
var
  I: Integer;
  Li : TlistItem;
begin
  // Заполняем ListView данными
  for I := 1 to 10 do
  begin
    Li := ListView1.Items.Add;
    Li.Caption := 'Col ' + IntToStr(I);
  end;
end;

5. Написание кода для печати

Для печати данных из ListView в FastReport, нам нужно написать код для события __OnGetValue__ в frxReport1. Добавьте следующий код в это событие:

procedure TForm8.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
  if CompareText(VarName, 'element') = 0 then
    Value := ListView1.Items[frxUserDataSet1.RecNo].Caption;
end;

Теперь, чтобы распечатать данные из ListView, просто нажмите кнопку на форме, и в событии OnClick добавьте следующий код:

procedure TForm8.Button1Click(Sender: TObject);
begin
  frxUserDataSet1.RangeEnd := frxUserDataSet1.RecCount;
  frxUserDataSet1.RangeEndCount := ListView1.Items.Count;
  frxReport1.ShowReport();
end;

После нажатия кнопки, данные из ListView будут распечатаны в формате таблицы с помощью FastReport. Результат должен выглядеть следующим образом:

Результат печати

Заключение

В этой статье мы рассмотрели, как распечатать содержимое ListView в Delphi XE8 с помощью FastReport. Используя описанные выше шаги, вы сможете создавать профессиональные отчеты для печати и экспорта из ваших приложений на Delphi. Успехов в ваших проектах!

Создано по материалам из источника по ссылке.

Статья о том, как распечатать содержимое ListView в Delphi XE8 с помощью FastReport.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Отчеты ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 06:20:30/0.0033490657806396/0