When running a report, my line chart displays fine, but when exporting the chart to any format (PDF, Excel, ect...) the lines on the graph no longer show up. The graph itself appears along with the key, x-axis information, y-axis information, but the actual lines are missing.
The chart is being built programmatic.
This code passes in a telerik chart, and the corresponding text file.
Any Idea on why it doesn't display when exported?
Thanks,
-Scott Cline
The chart is being built programmatic.
This code passes in a telerik chart, and the corresponding text file.
Private Sub LoadChart(ByVal sFileName As String, ByRef sChart As Telerik.Reporting.Chart)
Dim inFile As StreamReader = File.OpenText(sFileName)
Try
Dim j As Integer
Dim sLine As String
Dim sValues() As String
Dim chartSeries() As Telerik.Reporting.Charting.ChartSeries
Dim bFirstLoad As Boolean = False
Dim yMax, yMin As Double
Do While inFile.Peek <> -1
sLine = inFile.ReadLine
sValues = Split(sLine, vbTab)
If UCase(Trim(sValues(0))) = "TEMPERATURE" Then
'Create an array of Series for length of value
'Create Chart Series Names
For j = 0 To sValues.Length - 1
ReDim Preserve chartSeries(j)
chartSeries(j) = New Telerik.Reporting.Charting.ChartSeries
If j > 0 Then
If sValues(j) <> "" Then
chartSeries(j).Name = sValues(j)
chartSeries(j).Type = Charting.ChartSeriesType.Line
chartSeries(j).Appearance.PointMark.Dimensions.Width = 1
chartSeries(j).Appearance.PointMark.Dimensions.Height = 1
chartSeries(j).Appearance.PointMark.FillStyle.MainColor = chartSeries(j).Appearance.LineSeriesAppearance.Color
chartSeries(j).Appearance.PointMark.Visible = True
chartSeries(j).DefaultLabelValue = ""
chartSeries(j).YAxisType = Charting.ChartYAxisType.Primary
End If
End If
Next
ElseIf IsNumeric(sValues(0)) Then
For j = 0 To sValues.Length - 1
If sValues(j) <> "" Then
If j > 0 Then
If bFirstLoad = False Then
If yMax = 0 Then
yMax = CDbl(sValues(j))
End If
If yMin = 0 Then
yMin = CDbl(sValues(j))
End If
bFirstLoad = True
End If
'Add the values to the chart series
chartSeries(j).AddItem(CDbl(sValues(j)))
chartSeries(j).Item(chartSeries(j).Items.Count - 1).XValue = CDbl(sValues(0))
chartSeries(j).Item(chartSeries(j).Items.Count - 1).YValue = CDbl(sValues(j))
chartSeries(j).Item(chartSeries(j).Items.Count - 1).ActiveRegion.Tooltip = CDbl(sValues(j))
'Update Min and Max Values
If yMin > CDbl(sValues(j)) Then
yMin = CDbl(sValues(j))
End If
If yMax <
CDbl
(sValues(j)) Then
yMax
=
CDbl
(sValues(j))
End If
End If
End If
Next
End If
Loop
For
j
=
0
To chartSeries.Length - 1
If j > 0 Then
sChart.Series.Add(chartSeries(j))
End If
Next
sChart.PlotArea.XAxis.AxisLabel.TextBlock.Text = "Temperature"
sChart.PlotArea.XAxis.AxisLabel.TextBlock.Appearance.TextProperties.Color = Color.Black
sChart.PlotArea.XAxis.Appearance.Visible = Charting.Styles.ChartAxisVisibility.True
sChart.PlotArea.XAxis.VisibleValues = Charting.Styles.ChartAxisVisibleValues.All
sChart.PlotArea.XAxis.Appearance.Width = 3
sChart.PlotArea.XAxis.MinValue = 10
sChart.PlotArea.XAxis.MaxValue = 100
sChart.PlotArea.XAxis.LabelStep = 10
sChart.PlotArea.XAxis.MaxItemsCount = 100 + 1
sChart.PlotArea.XAxis.AutoScale = False
sChart.PlotArea.YAxis.AxisLabel.TextBlock.Text = "Concentration"
sChart.PlotArea.YAxis.AxisLabel.TextBlock.Appearance.TextProperties.Color = Color.Black
sChart.PlotArea.YAxis.Appearance.Visible = Charting.Styles.ChartAxisVisibility.True
sChart.PlotArea.YAxis.Appearance.Width = 3
sChart.PlotArea.YAxis.IsZeroBased = False
sChart.PlotArea.YAxis.VisibleValues = Charting.Styles.ChartAxisVisibleValues.All
sChart.PlotArea.YAxis.MaxValue = yMax
sChart.PlotArea.YAxis.MinValue = yMin
sChart.PlotArea.YAxis.AutoScale = False
sChart.ChartTitle.TextBlock.Text = "Concentration vs Temperature"
Catch ex As Exception
VOMsgBox(ex.ToString)
Finally
inFile.Close()
inFile = Nothing
End Try
End Sub
Any Idea on why it doesn't display when exported?
Thanks,
-Scott Cline