none
Wie verwende ich Zeiten im Windows Forms Chart Control? RRS feed

  • Frage

  • Hallo!
    Ich bin gerade auf das Windows Forms Chart Control gestoßen und frage mich wie ich Zeiten in der Form "mm:ss,oo" (also Minuten,Sekunden,Hundertstelsekunden) in einem Chart anzeigen lassen kann. Die Datenh liegen in einem Textstring vor.
    Hat jemand damit Erfahrung oder kann da jemand eine Hilfestellung geben?
    Montag, 2. November 2009 11:39

Antworten

  • Hallo1

    also ich würde die Text-Daten zunächst einmal zu DateTime-Werten parsen. Anschließend kann man sich der Format-Eigenschaften bedienen, um die Werte ins gewünschte Format zu bringen:

                ChartArea area = new ChartArea();
                area.Name = "ChartArea";
                area.Position = new ElementPosition(0, 0, 80f, 60f);
                area.AxisY.LabelStyle.Format = "mm:ss,ff";
    
                Series dateTimeSeries = new Series();
                dateTimeSeries.Name = "Times";
                dateTimeSeries.ChartType = SeriesChartType.Bar;
                dateTimeSeries.ChartArea = "ChartArea";
    
                List<DateTime> arrivals = GetArrivals();
    
                chart1.ChartAreas.Add(area);
                chart1.Series.Add(dateTimeSeries);
                chart1.Series["Times"].IsValueShownAsLabel = true;
                chart1.Series["Times"].LabelFormat = "mm:ss,ff";
                chart1.Series["Times"].Points.DataBind(arrivals, "From", "Time", null);
    
    Meine GetArrivals()-Methode gibt einfach eine Liste mit DateTime-Werten zurück. Im konkreten Fall könnte man hier z.B. das Parsen vornehmen. Da ich aus deinen Ausführungen wenig über die konkrete Implementierung weiss, verweise ich für die Datenbindung noch kurz auf http://blogs.msdn.com/alexgor/archive/2009/02/21/data-binding-ms-chart-control.aspx und hoffe, dass dir damit geholfen ist.

    Marcel
    Montag, 2. November 2009 16:21

Alle Antworten

  • Hallo1

    also ich würde die Text-Daten zunächst einmal zu DateTime-Werten parsen. Anschließend kann man sich der Format-Eigenschaften bedienen, um die Werte ins gewünschte Format zu bringen:

                ChartArea area = new ChartArea();
                area.Name = "ChartArea";
                area.Position = new ElementPosition(0, 0, 80f, 60f);
                area.AxisY.LabelStyle.Format = "mm:ss,ff";
    
                Series dateTimeSeries = new Series();
                dateTimeSeries.Name = "Times";
                dateTimeSeries.ChartType = SeriesChartType.Bar;
                dateTimeSeries.ChartArea = "ChartArea";
    
                List<DateTime> arrivals = GetArrivals();
    
                chart1.ChartAreas.Add(area);
                chart1.Series.Add(dateTimeSeries);
                chart1.Series["Times"].IsValueShownAsLabel = true;
                chart1.Series["Times"].LabelFormat = "mm:ss,ff";
                chart1.Series["Times"].Points.DataBind(arrivals, "From", "Time", null);
    
    Meine GetArrivals()-Methode gibt einfach eine Liste mit DateTime-Werten zurück. Im konkreten Fall könnte man hier z.B. das Parsen vornehmen. Da ich aus deinen Ausführungen wenig über die konkrete Implementierung weiss, verweise ich für die Datenbindung noch kurz auf http://blogs.msdn.com/alexgor/archive/2009/02/21/data-binding-ms-chart-control.aspx und hoffe, dass dir damit geholfen ist.

    Marcel
    Montag, 2. November 2009 16:21
  • Hallo PeLuTPro,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Donnerstag, 12. November 2009 10:00
    Moderator