Id: | 12434 |
Product: | finPOWER Connect |
Type: | NEW |
Version: | 2.02.03 |
Opened: | 18/11/2014 |
Closed: | 18/11/2014 |
Released: | 04/12/2014 |
Job: | J014496 |
Charts; Chart data can now be saved to a base-64 encoded String
Charts can be generated by Scripts that have access to the User Interface layer, e.g., Page Sets and HTML Report type Scripts.
Charts can be saved to a file using the UserIntefaceBL.ChartSaveToFilePng method. Generally, a temporary file name would be generated and the chart saved to this file.
A new method, UserIntefaceBL.ChartToPngBase64String has been added. Instead of saving the chart to a file, the chart's image data will be returned as a base-64 encoded String.
This String can be used as a data URL within an HTML page (supported fully by Internet Explorer 9 and above) meaning that not temporary file needs to be generated to view a chart.
The following code sample assumes a Page Set with a Button Page Object (cmdTest) and an HTML Panel Page Object (wbChart):
Public Sub cmdTest_Click(sender As Object, e As finPageObjectClickEventArgs) Handles cmdTest.Click
Dim ChartData As String
Dim ChartDetails As ISChartDetails
Dim ChartSeries As ISChartSeries
' Initialise
ChartDetails = finBL.CreateChartDetails()
' General
With ChartDetails
.ChartType = iseChartType.PieChart
.Title = "Test Pie Chart"
End With
' Create Series
ChartSeries = chartdetails.Series.CreateSeries()
With ChartDetails.Series(0)
With .DataItems
.AddValue(50, "Half")
.AddValue(25, "Quarter")
.AddValue(25, "Another Quarter")
End With
End With
' Get Chart Data as Base-64 String and view in HTML Panel
If mUI.ChartToPngBase64String(chartDetails, ChartData, 1280, 960) Then
' View
wbChart.Text = "<img src='data:image/png;base64," & ChartData & "' style='border:4px solid silver;'/>"
Else
mUI.ErrorMessageShow()
End If
End Sub