Reputation: 29
I have two separate graphs but every time I go back to a different graph. It adds the series again which causes it to break. I've tried adding the series to the Series Collection but then says it cannot find them.
Private Sub Finances_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ChrPriceChange.ChartAreas("ChartArea").AxisX.ScrollBar.Enabled = True
ChrPriceChange.ChartAreas("ChartArea").AxisX.IsLabelAutoFit = True
ChrPriceChange.ChartAreas("ChartArea").AxisX.ScaleView.Size = 4
ChrRoomProfit.ChartAreas("ChartArea").AxisX.ScrollBar.Enabled = True
ChrRoomProfit.ChartAreas("ChartArea").AxisX.IsLabelAutoFit = True
ChrRoomProfit.ChartAreas("ChartArea").AxisX.ScaleView.Size = 6
End Sub
Private Sub CmbType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbType.SelectedIndexChanged
If CmbType.SelectedItem = "Price Change" Then
ChrPriceChange.Series.Add("Single Room")
ChrPriceChange.Series.Add("Double Room")
ChrPriceChange.Series.Add("Family Room")
ChrPriceChange.Series.Add("per Adult")
ChrPriceChange.Series.Add("per Child")
ChrPriceChange.Visible = True
ChrRoomProfit.Visible = False
MyConn.ConnectionString = dataFile
MyConn.Open()
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [Prices] ORDER BY `Last Modified` ASC", MyConn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
ChrPriceChange.Series("Single Room").Points.AddXY(dr("Last Modified").ToString, dr("Single").ToString)
If (ChrPriceChange.ChartAreas(0).AxisX.Maximum > ChrPriceChange.ChartAreas(0).AxisX.ScaleView.Size) Then
ChrPriceChange.ChartAreas(0).AxisX.ScaleView.Scroll(ChrPriceChange.ChartAreas(0).AxisX.Maximum)
End If
ChrPriceChange.Series("Double Room").Points.AddXY(dr("Last Modified").ToString, dr("Double").ToString)
ChrPriceChange.Series("Family Room").Points.AddXY(dr("Last Modified").ToString, dr("Family").ToString)
ChrPriceChange.Series("per Adult").Points.AddXY(dr("Last Modified").ToString, dr("Adult").ToString)
ChrPriceChange.Series("per Child").Points.AddXY(dr("Last Modified").ToString, dr("Child").ToString)
End While
MyConn.Close()
cmd.Dispose()
End If
If CmbType.SelectedItem = "Room Profit" Then
ChrRoomProfit.Series.Add("Total Made")
ChrRoomProfit.Visible = True
ChrPriceChange.Visible = False
MyConn.ConnectionString = dataFile
MyConn.Open()
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [BookingInformation] ORDER BY `Date In` ASC", MyConn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
ChrRoomProfit.Series("Total Made").Points.AddXY(dr("Date In").ToString, dr("Total").ToString)
If (ChrRoomProfit.ChartAreas(0).AxisX.Maximum > ChrRoomProfit.ChartAreas(0).AxisX.ScaleView.Size) Then
ChrRoomProfit.ChartAreas(0).AxisX.ScaleView.Scroll(ChrRoomProfit.ChartAreas(0).AxisX.Maximum)
End If
End While
MyConn.Close()
cmd.Dispose()
End If
End Sub
Upvotes: 0
Views: 36
Reputation: 29
Realised it was because I didn't have anything to clear it. ChrPriceChange.Series.Clear
Upvotes: 1