Einzelnen Beitrag anzeigen

RedOne

Registriert seit: 2. Jun 2008
71 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Fast Report - dataset does not exist

  Alt 1. Feb 2013, 14:36
Der Vollständigkeit halber - Folgende Lösung für das Problem:
Beim Erstellen des frxReports muss UseGlobalDatasetList auf False gestellt werden:

FfrxReport.EngineOptions.UseGlobalDataSetList := False;

Danach kann das frxDBDataset dem Report hinzugefügt werden

FfrxReport.EnabledDataSets.Add(FfrxDataSet);

Und danach den Report mit LoadFromStream/LoadFromFile laden und vor dem Ausführen FfrxDataSet.Dataset füllen.

Oder komplett
Delphi-Quellcode:
procedure TReportController.Create;
begin
  FfrxReport:= TfrxReport.Create( nil );
  FfrxReport.EngineOptions.UseGlobalDatasetList := False;

  FfrxDataSet:= TfrxDBDataset.Create( nil );
  FfrxDataSet.UserName:= 'reportdataset';
  FfrxReport.EnabledDataSets.Add( FfrxDataSet );
  //Weitere Aktionen
  FfrxReport.LoadFromFile( AReportPath );
end;

procedure TReportController.DesignReport;
begin
  if Assigned( FfrxDataSet.DataSet ) then begin
    FfrxDataSet.DataSet.Free;
    FfrxDataSet.DataSet:= nil;
  end;

  FfrxDataSet.DataSet:= TDataBase.CreateDataset( FSQL );
  FfrxReport.PrepareReport;
  FfrxReport.DesignReport;
end;
  Mit Zitat antworten Zitat