Hallo,
ich bastle gerade mit Charts herum. Die Charts füttere ich e nac Situation aus verschiedenen XML-Dateien.
Jetzt ersteinmal der Code
Jetzt das Problem. Rufe ich diese Form zum ersten mal auf, ist alles in Ordnung. Rufe ich diese Form zum zweiten Mal auf und verwende eine andere XML-Datei als Basis, gibt
die richtigen Werte aus.
Aber in dem Chartscontrol sind noch die Werte aus der ersten XML-Datei zu sehen. Hie und da mischen sich die Daten der zweiten XML-Datei dazu.
Wo liegt mein Fehler?
ich bastle gerade mit Charts herum. Die Charts füttere ich e nac Situation aus verschiedenen XML-Dateien.
Jetzt ersteinmal der Code
VB.NET-Quellcode
- Imports Wirrklang.Aufgaben
- Public Class Auswertung
- Private Sub Auswertung_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- 'Entscheide ob Tabs oder nicht
- If Wirrklangrettung.DS_Aufgabenverwaltung.Spalten.Rows.Count <= 2 Then
- GraphenbasisOhneTab()
- Else
- ' Lege Tabs an
- 'Lege die dazugehörigen series an
- End If
- End Sub
- Private Sub GraphenbasisOhneTab()
- Dim ZählerSpalten As Integer
- Dim ZählerAufgaben As Integer
- Dim ZählerSeries As Integer
- ZählerSpalten = Wirrklangrettung.DS_Aufgabenverwaltung.Spalten.Rows.Count
- Dim ChartArea(ZählerSpalten) As System.Windows.Forms.DataVisualization.Charting.ChartArea
- Dim Legend(ZählerSpalten) As System.Windows.Forms.DataVisualization.Charting.Legend
- Dim Series(ZählerSpalten) As System.Windows.Forms.DataVisualization.Charting.Series
- Dim Chart(ZählerSpalten) As System.Windows.Forms.DataVisualization.Charting.Chart
- ZählerAufgaben = Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows.Count
- ZählerSeries = ZählerAufgaben / ZählerSpalten
- For x = 0 To ZählerSpalten - 1
- ChartArea(x) = New System.Windows.Forms.DataVisualization.Charting.ChartArea()
- Legend(x) = New System.Windows.Forms.DataVisualization.Charting.Legend()
- Series(x) = New System.Windows.Forms.DataVisualization.Charting.Series()
- Chart(x) = New System.Windows.Forms.DataVisualization.Charting.Chart()
- CType(Chart(x), System.ComponentModel.ISupportInitialize).BeginInit()
- Me.Controls.Add(Chart(x))
- ChartArea(x).Name = "ChartArea(x)"
- Chart(x).ChartAreas.Add(ChartArea(x))
- Legend(x).Name = "Legend(x)"
- Chart(x).Legends.Add(Legend(x))
- Chart(x).Location = New System.Drawing.Point(10 + 300 * x, 10)
- Chart(x).Name = "Chart(x)"
- Series(x).ChartArea = "ChartArea(x)"
- Series(x).Legend = "Legend(x)"
- Series(x).Name = Wirrklangrettung.DS_Aufgabenverwaltung.Spalten.Rows(x).Item(3)
- Series(x).ChartType = DataVisualization.Charting.SeriesChartType.Bar
- Chart(x).Series.Add(Series(x))
- Chart(x).Size = New System.Drawing.Size(290, ZählerSeries * 30)
- Chart(x).TabIndex = 0
- Chart(x).Text = "Chart(x)"
- Legend(x).Enabled = False
- Next
- Me.Size = New System.Drawing.Size(10 + 310 * ZählerSpalten, ZählerSeries * 30 + 60)
- Me.Text = "Auswertung " & Wirrklangrettung.DS_Aufgabenverwaltung.AufgabenInfos.Rows(0).Item(6)
- For y = 0 To ZählerSpalten - 1
- For x = ZählerSeries - 1 To 0 Step -1
- Dim Wert1 As Single
- If Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x + y * ZählerSeries).Item(14) < 6 Then
- Wert1 = (Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x + y * ZählerSeries).Item(14) - 6) * -2
- ' Series(1).Points.Item(x).Color = Color.Red
- Else
- Wert1 = (Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x + y * ZählerSeries).Item(14) - 6)
- ' Series(1).Points.Item(x).Color = Color.Green
- End If
- Series(y).Points.AddXY((ZählerSeries - 1) - x, Wert1)
- If Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x).Item(14) < 6 Then
- Series(y).Points.Item((ZählerSeries - 1) - x).Color = Color.Red
- Else
- Series(y).Points.Item((ZählerSeries - 1) - x).Color = Color.Green
- End If
- Series(y).Points.Item((ZählerSeries - 1) - x).AxisLabel = Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x).Item(15)
- MsgBox(Wirrklangrettung.DS_Aufgabenverwaltung.Aufgabe.Rows(x).Item(15))
- Next
- End Sub
- End Class
Jetzt das Problem. Rufe ich diese Form zum ersten mal auf, ist alles in Ordnung. Rufe ich diese Form zum zweiten Mal auf und verwende eine andere XML-Datei als Basis, gibt
die richtigen Werte aus.
Aber in dem Chartscontrol sind noch die Werte aus der ersten XML-Datei zu sehen. Hie und da mischen sich die Daten der zweiten XML-Datei dazu.
Wo liegt mein Fehler?