none
Chart - Problem mit Darstellung/Datenbindung RRS feed

  • Frage

  • Hallo,
    ein Chart soll an eine List (Of...) gebunden werden.
    Eigentlich sollte es doch so funktionieren:

    Private Sub CREATE_CHART(ByVal MonitorList As List(Of clWZKosten), CHART_TYPE As ChartType)
      Dim xChart As New Chart
      Dim cArea As New ChartArea()
      Dim sProdmenge As New Series("ProdMenge")
      Dim sAusschuss As New Series("Ausschuss")
      xChart.Legends.Add(New Legend)
    
      With sProdmenge
       .XValueMember = "MONATJAHR"
       .YValueMembers = "PRODMENGE"
       .ToolTip = "produzierte Menge: #VALY{#,##}"
       .IsVisibleInLegend = True
       .YAxisType = AxisType.Primary
       .ChartType = SeriesChartType.Line
      End With
    
      With sAusschuss
       .YValueMembers = "AUSSCHUSS"
       .ToolTip = "Ausschuss: #VALY{#,##}"
       .IsVisibleInLegend = True
       .ChartType = SeriesChartType.Line
      End With
      xChart.DataBind()
      xChart.Width = "800"
      xChart.CssClass = "chart"
      xChart.ChartAreas.Add(cArea)
      xChart.Series.Add(sProdmenge)
      xChart.Series.Add(sAusschuss)
    
    End Sub

    Das Chart wird jedoch nicht angezeigt, da nix drin ist.

    Wenn ich die Results der List (Of..) manuell durchlaufe , um die Points hinzuzufügen, dann funktioniert es jedoch.

      For Each result In MonitorList
       With sProdmenge
        .Points.AddY(result.PRODMENGE)
       End With
       With sAusschuss
        .Points.AddY(result.AUSSCHUSS)
       End With
      Next

    Allerdings stehen als Labels der X-Achse nicht die gewünschten Werte. Hier sollten der Wert aus MONATJAHR stehen (z.B.: 1/2015).

    Der Inhalt der List (Of...) sieht ungefähr so aus (zur Ansicht in einer DataTable verpackt):

    Also MONATJAHR auf der X-Achse und die beiden Mengen als Werte in Y.

    Könnte mir evtl.jemand auf die Sprünge helfen?

    Vielen Dank


    Viele Grüße, Volker



    • Bearbeitet Volker S Donnerstag, 9. März 2017 13:20
    Donnerstag, 9. März 2017 13:16

Alle Antworten

  • Problem hat sich erledigt.
    Es lag an
    Dim imgStream As New System.IO.MemoryStream()
    xChart.SaveImage(imgStream, ChartImageFormat.Png)
    
    Das stand dummerweise vor dem Zuweisen von einigen Eigenschaften. Kann ja nicht funktionieren.


    Viele Grüße, Volker

    Freitag, 10. März 2017 06:32