vcl-dxreport-dot-tdxreport-dae1ed6a.md
Displays the Report Viewer dialog.
procedure ShowViewer;
Call ShowDesigner and ShowViewer procedures to display Web-based Report Designer and Report Viewer dialogs. Global skin and palette settings defined using the Project Settings dialog or a TdxSkinController component affect both TdxReport dialogs.
The Report Viewer dialog displays an interactive preview of a document generated from the current XML-based report template:
A ShowViewer procedure call raises the OnViewerFormShow event.
Right-click a TdxReport component on a form to display the component’s context menu:
Click the Viewer… item to display the Web-based Report Viewer dialog at design time.
View Example: Store Report Layouts within Text FilesView Example: Store Report Layouts in a DatabaseView Example: Localize the DevExpress Report Viewer and Report Designer
This code example loads an XML-based report template (REPX) from a dataset, configures export settings, populates the template with data from another dataset, and displays the report preview:
uses
dxReport, // Declares the TdxReport component and related types
dxBackend.ConnectionString.JSON.DataSet; // Declares the TdxBackendDataSetJSONConnection component
// ...
procedure TMyForm.Button1Click(Sender: TObject);
var
ADataConnection: TdxBackendDataSetJSONConnection;
AReport: TdxReport;
ALayoutStream: TStream;
begin
ADataConnection := TdxBackendDataSetJSONConnection.Create(Self);
try
ADataConnection.Name := 'DataSetJSONData';
ADataConnection.DataSets.Add('Data', FDataSource);
AReport := TdxReport.Create(Self);
try
AReport.ReportName := 'Report';
ALayoutStream := FLayoutDataSet.CreateBlobStream(FLayoutDataSet.FieldByName('Layout'), bmRead);
try
AReport.Layout.LoadFromStream(ALayoutStream);
finally
ALayoutStream.Free;
end;
AReport.Language := 'fr-FR';
AReport.ExportFormats := [TdxReportExportFormat.PDF,
TdxReportExportFormat.RTF, TdxReportExportFormat.HTML];
AReport.FilterString := 'id = 5';
AReport.ShowViewer;
finally
AReport.Free;
end;
finally
ADataConnection.Free;
end;
end;
#include "dxReport.hpp" // Declares the TdxReport component and related types
#include "dxBackend.ConnectionString.JSON.DataSet.hpp" // Declares the TdxBackendDataSetJSONConnection component
// Add the following linker directives to the corresponding CPP source file:
#pragma link "dxReport" // Required to use dxReport.hpp declarations
#pragma link "dxBackend.ConnectionString.JSON.DataSet" //Required to use TdxBackendDataSetJSONConnection declarations
// ...
void __fastcall TMyForm::Button1Click(TObject *Sender)
{
TdxBackendDataSetJSONConnection *ADataConnection;
TdxReport *AReport;
TStream *ALayoutStream;
ADataConnection = new TdxBackendDataSetJSONConnection(this);
try
{
ADataConnection->Name = "DataSetJSONData";
ADataConnection->DataSets->Add("Data", FDataSource);
AReport = new TdxReport(this);
try
{
AReport->ReportName = "Report";
ALayoutStream = FLayoutDataSet->CreateBlobStream(FLayoutDataSet->FieldByName("Layout"), bmRead);
try
{
AReport->Layout->LoadFromStream(ALayoutStream);
}
__finally
{
delete ALayoutStream;
}
AReport->Language = "fr-FR";
AReport->ExportFormats = TdxReportExportFormats() << TdxReportExportFormat::PDF
<< TdxReportExportFormat::RTF << TdxReportExportFormat::HTML;
AReport->FilterString = "id = 5";
AReport->ShowViewer();
}
__finally
{
delete AReport;
}
}
__finally
{
delete ADataConnection;
}
}
See Also
TdxReport.ExportFormats Property
Report Viewer and Designer UI Localization