Как подключить несколько TfrUserDataset к одному TfrReport

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
nic1982
новенький
Сообщения: 48
Зарегистрирован: 17.05.2011 16:34:05

Как подключить несколько TfrUserDataset к одному TfrReport

Сообщение nic1982 »

Как подключить несколько TfrUserDataset-ов к одному TfrReport-у

Например:

Код: Выделить всё

TMyReport = class
  report : TfrReport
  uds1 : TfrUserDataset;
  uds2 : TfrUserDataset;
public
  procedure start;
end;

procedure TMyReport.start;
begin
  report:= TfrReport.Create(nil);
  uds1:=  TfrUserDataset.Create(nil);
  uds2:=  TfrUserDataset.Create(nil);

  // один TfrUserDataset можно подключить так
  //report.Dataset:= uds1;

  // как подключить два и более TfrUserDataset
  // ?
end;
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

А почему не пользоваться визуальным редактором? Накидать объектов на форму/датамодуль - и всё
А ещё лучше - создавать источники данных в самом отчёте. В этом случае вообще нет нужды в исполняемом модуле что-то для отчётов городить.
nic1982
новенький
Сообщения: 48
Зарегистрирован: 17.05.2011 16:34:05

Сообщение nic1982 »

alexs писал(а):А почему не пользоваться визуальным редактором? Накидать объектов на форму

Таким способом все работает.

Мне нужно создавать много разных видов отчетов. Если для всех видов отчетов компоненты положить на форму/дата модуль то получается немного не красиво, путано.
Плюс хотелось бы многопоточность, например есть вид отчета по "филиалам",
филиалов много за каждый отвечает свой объект на основе общего класса,
этот вид отчета можно распараллелить. Получится красиво и быстро.

alexs писал(а):А ещё лучше - создавать источники данных в самом отчёте.

О таком не знаю, как такое сделать ?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Код: Выделить всё

lazarus/components/lazreport/samples/enduser_reports

Посмотри примеры в этой папке.
Именно твой случай.
Я в своих приложениях вообще не вшиваю отчёты в код. Только внешние.
Ответить