Solved

Error assigning series chart area in vb.net

Posted on 2010-08-22
1
669 Views
Last Modified: 2012-05-10
Hello,
I'm developing a vb.net application that includes a graphing module.  I keep getting a error on line
  series.ChartArea = "Default"

The error reads
A chart element with the name of 'Default' could not be found in the chart collection'.5
All I am doing is assigning a name to that series chart area.  I've used this code previously with no problem so I am not sure what is going on.

For Each g As GraphReport In graphs

                If MatchingMetricUnits(g) = Nothing Then
                    MessageBox.Show(g.DataVersionIdOne.ToString & " and " & g.DataVersionIdTwo.ToString & " do not have corresponding units!", "Erro")
                    Exit Sub
                Else
                    strUnits = MatchingMetricUnits(g)
                End If

                Dim ds As New DataTable
                ds = ReportDB.GetDeltaSeriesData(g.DataVersionIdOne, g.DataVersionIdTwo, g.MetricName)

                Dim dtgv As New DataTable
                dtgv = ReportDB.GetDeltaReportData(g.DataVersionIdOne, g.DataVersionIdTwo, g.MetricName)



                Dim newtable As New DataTable

                dset.Tables.Add(dtgv)
                For Each table As DataTable In dset.Tables
                    newtable.Merge(table)
                Next
                dgvGraphResults.DataSource = newtable



                Dim strSeriesName As String = g.DataVersionIdOne.ToString & " - " & g.DataVersionIdTwo.ToString

                RemoveDuplicateSeries(Chart1.Series, strSeriesName)
                Dim series As Series = Chart1.Series.Add(strSeriesName)
                series.Tag = g.DataVersionIdOne & "-" & g.DataVersionIdTwo
                If g.GraphType = 0 Then
                    series.ChartType = SeriesChartType.Spline
                ElseIf g.GraphType = 1 Then
                    series.ChartType = SeriesChartType.Column
                ElseIf g.GraphType = 2 Then
                    series.ChartType = SeriesChartType.StackedArea
                ElseIf g.GraphType = 3 Then
                    series.ChartType = SeriesChartType.StackedColumn
                End If

                strTitleName = g.GraphTitle.ToString
                'MetricName = g.GraphTitle.ToString

                series.ChartArea = "Default"
                Dim xfield As String = "ForecastYear"
                Dim xval As New ArrayList

                For Each r As DataRow In ds.Rows
                    xval.Add(r.Item(xfield))
                Next

                Dim yfield As String = "MetricValue"
                Dim yval As New ArrayList

                For Each r As DataRow In ds.Rows
                    yval.Add(r.Item(yfield))
                Next

                ' Bind the double array to the Y axis points of the Default data series
                Chart1.Series(strSeriesName).Points.DataBindXY(xval, yval)

                series.BorderWidth = 2
                Chart1.DataBind()

            Next

Open in new window

0
Comment
Question by:chtullu135
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 17

Accepted Solution

by:
calacuccia earned 500 total points
ID: 33496916
In my opinion, ChartArea should be assign to the Chart object, not the Series object.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question