Вы должны сначала указать, пытаетесь ли вы использовать набор данных, определенный в вашем приложении, или набор данных, определенный непосредственно в вашем отчете (вкладка «Данные» в дизайнере FastReport)?
Если вы пытаетесь использовать набор данных, который определен внутри вашего приложения (например, экземпляр AdoDataset, определенный в одном из ваших модулей данных), для этой цели вам не нужно привязывать MasterBand к вашему набору данных. динамически. Внутри отчета ваш MasterBand привязан к экземпляру TfrxDbDataset во время разработки. Во время выполнения ваш экземпляр frxDbDataset может быть подключен к любому набору данных в вашем проекте.
Вот как это будет:
1- Вы помещаете компонент frxReport и компонент frxDbDataset в свою форму или модуль данных. 2- В дизайнере отчетов вы переходите в раздел «Наборы данных» и добавляете доступный frxDbDataset в список наборов данных отчета. 3- Вы добавляете бэнд основных данных и назначаете frxDbDataset его свойству Dataset. 4- Теперь в вашем коде перед показом или подготовкой отчета можно написать что-то вроде этого:
if MyOption = 1 then
frxDbDataset1.Dataset := AdoDataset1
else
frxDbDataset1.Dataset := AdoDataset2;
Все, что вы назначите frxDbDataset, будет напечатано мастер-полосой в вашем отчете.
Если вы определяете набор данных непосредственно внутри отчета, используя дизайнер FastReport; тогда все внутри вашего отчета. Просто откройте дизайнер fastreport и сделайте следующее:
1- Перейдите на вкладку «Данные» и определите свои наборы данных (например, AdoQuery1). 2- Выберите объект отчета на панели дерева отчетов. 3- В инспекторе объектов перейдите на вкладку События. 4- Выберите подходящее событие; OnStartReport — хорошее событие для вашей работы. Дважды щелкните по нему, чтобы открыть редактор кода. 5- Теперь вы можете назначить набор данных, определенный на вкладке данных, полосе основных данных, используя код PascalScript. Что-то вроде этого:
procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin
MasterData1.Dataset := <ADOQuery1."ADOQuery1">;
end;
person
vcldeveloper
schedule
31.10.2010