TdxDashboard.Name Property
Specifies the dashboard name (for template/layout management and content export).
Declaration
property Name: string read; write;
Property Value
| Type | Description |
|---|---|
| string | The dashboard name. |
Remarks
Use the Name property to define a dashboard layout name for export operations when the Layout property contains a non-empty dashboard layout.
The ExportTo procedure returns a string (as the AFileName parameter) that consists of the Name property value with the file name extension associated with the target export format.
Code Examples
Export Dashboard Content to PDF Without User Interaction
The following code example configures a memory-based data source (TdxBackendInMemoryJSONConnection), loads an XML dashboard layout, and exports dashboard content to a PDF file without user interaction:
uses
dxBackend.ConnectionString.JSON, // Declares the TdxBackendInMemoryJSONConnection component
dxDashboard; // Declares the TdxDashboard class
// ...
procedure TMyForm.cxExportButtonClick(Sender: TObject);
var
ADashboard: TdxDashboard;
AJSONDataConnection: TdxBackendInMemoryJSONConnection;
AMemoryStream: TMemoryStream;
AFileName, AJSONData: string;
begin
// Define a table that consists of three columns ("id", "Region", and "Sales") and five data rows:
AJSONData :=
'[{"id": 1, "Region": "Asia", "Sales": 4.7685},' + // Row #1
'{"id": 2, "Region": "Australia", "Sales": 1.9576},' + // Row #2
'{"id": 3, "Region": "Europe", "Sales": 3.3579},' + // Row #3
'{"id": 4, "Region": "North America", "Sales": 3.7477},' + // Row #4
'{"id": 5, "Region": "South America", "Sales": 1.8237}]'; // Row #5
AJSONDataConnection := TdxBackendInMemoryJSONConnection.Create(Self); // Creates a data connection
try
AJSONDataConnection.Name := 'JSONData'; // Assigns a name to the created data connection
AJSONDataConnection.SetJSONValue(AJSONData); // Assigns the defined JSON data string
ADashboard := TdxDashboard.Create(Self); // Creates a TdxDashboard container
try
ADashboard.Layout.LoadFromFile('MyDashboardLayout.xml'); // Loads an XML dashboard layout
ADashboard.Name := 'MyDashboard'; // Defines a dashboard name
AMemoryStream := TMemoryStream.Create; // Creates a memory stream
try
// Export dashboard content to the created memory stream in the PDF format
ADashboard.ExportTo(TdxDashboardExportFormat.PDF, AMemoryStream, AFileName);
AMemoryStream.SaveToFile(AFileName); // Saves the resulting PDF file
finally
AMemoryStream.Free; // Releases the memory stream
end;
finally
ADashboard.Free; // Releases the TdxDashboard container
end;
finally
AJSONDataConnection.Free; // Releases the data connection
end;
end;
Save Dashboard State to File in Response to User Changes
The following code example saves the current dashboard user interaction state to a JSON file on every change:
uses
dxDashboard; // Declares the TdxDashboard class
// ...
procedure TMyForm.dxDashboard1StateChanged(ASender: TdxDashboard);
begin
ASender.State.SaveToFile(ASender.Name + 'State.json');
end;
See Also