Fabian Bigler
Fabian Bigler

Reputation: 10915

UltraChart DataSource Multiple Series

There are different ways about how the data of a Infragistics Linechart can be initialized. However, I would like to use its Property 'DataSource' and format the data before, since I already use this for other charts too.

So I would prefer this way:

UltraChart1.DataSource = myDataSource

Against this (Whole example with NumericTimeSeries is here)

Dim series1 As New NumericTimeSeries
series1.Label = "Series1"
series1.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-4), 12346, "Januar", True))
series1.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-3), 10000, "Februar", True))
series1.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-2), 14000, "März", True))
series1.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-1), 18000, "April", True))
series1.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(10), 800, "Mai", True))

Dim series2 As New NumericTimeSeries
series2.Label = "Series2"
series2.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-8), 500, "Januar", True))
series2.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-6), 350, "Februar", True))
series2.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-4), 600, "März", True))
series2.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(-2), 800, "April", True))
series2.Points.Add(New NumericTimeDataPoint(DateTime.Now.AddMonths(10), 800, "Mai", True))


UltraChart1.Series.Add(series1)
UltraChart1.Series.Add(series2)

However, my question is of how to format the DataSource, that it actually shows up more than one series.

No matter what I try, I'm only getting one Series in the Linechart.

The result should look something like this

We are using an abstract of a datatable, which works fine for the other ChartTypes (PieChart, Stackbar, etc.). A good example of how to achieve this, would really be appreciated.

Upvotes: 0

Views: 4181

Answers (1)

Fabian Bigler
Fabian Bigler

Reputation: 10915

This answer has been provided by the infragistics team and worked out for me: http://www.infragistics.com/community/forums/p/80325/406159.aspx#406159

Option 1: You could create a one or more series and bind each of them using the code:

series2 = new NumericSeries();

series2.DataBind(dt,"2008", "Month");

series2.Label ="Year 2008";

series2.PEs.Add(new PaintElement(Color.Blue));


myColumnLayer.Series.Add(series2);


ultraChart1.CompositeChart.Series.Add(series2);

Option 2:

series3 =new NumericSeries();

series3.Data.DataSource = dt;

series3.Data.ValueColumn ="2009";


series3.Data.LabelColumn ="Month";


series3.Label ="Year 2009";


series3.PEs.Add(new PaintElement(Color.Yellow));

myColumnLayer.Series.Add(series3);


ultraChart1.CompositeChart.Series.Add(series3);

Upvotes: 2

Related Questions