Hola. ¿puedes compartirnos que versión de FastReport tienes? Pasa que la versión gratuita por ejemplo no tiene la sección de código y eventos, por lo que la sugerencia de Casimiro no te funcionaria.
Ahora, también puedes hacerlo mediante código desde Delphi, por ejemplo: yo imprimo recibos de nomina (México) y existen dos tipos de nomina: ordinaria y extraordinaria, por lo que requiero ocultar las bandas del tipo de nomina que no estén. Entonces yo lo hago de esta forma:
Código Delphi
[-]
var
Report: TfrxReport;
RutaPDF, RutaModelo: string; pdfExport: TfrxPDFExport;
masterdata: TFrxMasterData;
Report := TfrxReport.Create(nil);
try
Report.LoadFromFile(RutaModelo);
if (DModuloEmpresa.FDQueryNPR.IsEmpty) and (DModuloEmpresa.FDQueryNDR.IsEmpty) and (DModuloEmpresa.FDQueryNOPR.IsEmpty) then
begin
masterdata:= Report.FindObject('o') as TfrxMasterData;
Masterdata.Visible:= false;
end;
if (DModuloEmpresa.FDQueryNPR_E.IsEmpty) and (DModuloEmpresa.FDQueryNDR_E.IsEmpty) and (DModuloEmpresa.FDQueryNOPR_E.IsEmpty) then
begin
masterdata:= Report.FindObject('e') as TfrxMasterData;
Masterdata.Visible:= false;
end;
Report.PrepareReport();
PDFExport := TfrxPDFExport.Create(nil);
try
Report.ShowProgress:= false;
Report.PrintOptions.ShowDialog:= false;
PDFExport.FileName := RutaPDF;
PDFExport.ShowProgress:= False;
PDFExport.ShowDialog := False;
PDFExport.OverwritePrompt := False;
Report.Export(PDFExport);
finally
FreeAndNil(PDFExport);
end;
Result:= FileExists(RutaPDF);
finally
FreeAndNil(Report);
end;
Saludos.