Forum Discussion
I'd try to turn those values into actual DateTime objects in your DataSet, before they get to the chart.
Btw you might want to post the configuration of that chart, otherwise people trying to help won't be able to replicate it - advanced charts are very esoteric to set up.
hi, I tried to pass the datetime values to the chart, but can't seem to do it. I can pass as a string, but that is not helpful. Below is the BR and Chart config. thanks
Dim oSeriesCollection As New XFSeriesCollection()
oSeriesCollection.FillUsingCubeViewDataAdapter(si, False, String.Empty, "da_Milestones_PC", _
XFDataRowListType.AllRows, _
String.Empty, _
XFChartCubeViewDataPointLegendType.Default, _
False, XFChart2SeriesType.BarStacked, args.CustomSubstVars)
For Each oSeries As XFSeries In oSeriesCollection.Series
Dim Points As List(Of XFSeriesPoint) = oSeries.Points
For Each Point As XFSeriesPoint In Points
Dim DateTime As New DateTime(Point.Value)
Point.Value = DateTime.ToString("yyyyMMdd")
Next
oSeries.ModelType = XFChart2ModelType.Bar2DFlat
oSeries.BarWidth = 0.75
If oSeries.UniqueName.Equals(" ") Then
oSeries.Color = "Transparent"
' oSeries.Color = XFChartDataSeries.Equals("Transparent")
End If
If oSeries.UniqueName.Equals("BS") Then
oSeries.Color = "DarkOrange"
End If
If oSeries.UniqueName.Equals("FCST") Then
oSeries.Color = "DeepSkyBlue"
End If
' Dim SeriesNm As String = oSeries.UniqueName
' BRApi.ErrorLog.LogMessage(si, $"{SeriesNm} ")
If oSeries.UniqueName.Equals("MC") Or _
oSeries.UniqueName.Equals("SC") Or _
oSeries.UniqueName.Equals("COD") Or _
oSeries.UniqueName.Equals("FC") Then
oSeries.Type = XFChart2SeriesType.Point
oSeries.UseSecondaryAxis = True
If oSeries.UniqueName.Equals("MC") Then
oSeries.Color = "DarkViolet"
End If
If oSeries.UniqueName.Equals("SC") Then
oSeries.Color = "DarkCyan"
End If
If oSeries.UniqueName.Equals("COD") Then
oSeries.Color = "Red"
End If
If oSeries.UniqueName.Equals("FC") Then
oSeries.Color = "Gold"
End If
End If
Next
Return oSeriesCollection.CreateDataSet(si)
- JackLacava2 years agoHonored Contributor
I think the issue is that your XFSeriesPoint objects must have the ArgumentDateTime property set to a date. That property is read-only, so you cannot modify it; you would have to manually recreate the points, put them in a list, and set that list in oSeries.Points.
That property is set automatically, if the original source adapter you're pulling uses a cube view with Time in rows or columns; so I'd suggest you try that, check how the points of those adapters are configured, and then mimic it in your rule. There are many constructors for XFSeriesPoint, pick one that expects a date passed as well as the properties you're interested in.
This is the only way i can see, to put dates on axis. I don't know if it would suit the chart you're building though.
Related Content
- 7 months ago
- 3 months ago
- 7 months ago
- 2 months ago