Zum Inhalt springen

C# - RangeBarChart aktualisieren?


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich versuche mich im moment mit der Sprache C# zu beschäftigen und als kleines "Projekt" möchte ich einen Aufgabenplaner erstellen. Leider muß ich mit den MS Chart auskommen und habe keinen Zugriff auf die kostenpflichtigen Alternativen. Das ganze soll eine Anlehnung an ein Gantt-Diagramm sein.

Der grobe Aufbau sieht folgendermaßen aus. Eine Klasse Task speichert u.a. den Namen und Start- bzw. Endedatum der Aufgabe. Die einzelnen Tasks bündel ich in einer Liste.

Nun zu meinem Problem.... ich schaffe es im moment nocht nicht das Diagramm zu aktualisieren. Leider zeigt er mir nur die (aus Testzwecken) fest in den Code geschriebenen Testdatensätze an. Eigentlich habe ich es mir so vorgestellt, dass sobald ich eine neue Aufgabe anlege (und mit OK bestätige), die Grafik sich aktualisiert und die neue Aufgabe auch angezeigt wird. ... Ich hoffe ich habe mich halbwegs verständlich ausgedrückt?

Zur Veranschaulichung häng ich ein paar Codesegmente noch mit an:

Klasse Task:


public class Task 

    {

        private String name;

        private DateTime startDateTime;

        private DateTime endDateTime;

        private TaskState currentState;

    }

Die Liste der Tasks und das hinzufügen:

private List<Task> tasks = new List<Task>();


public void addTask(Task task)

        {

            tasks.Add(task);

        }

Das manuelle Hinzufügen mit Testdatensätzen:

chart1.Series[series1].Points.AddXY(1, currentData.AddHours(12), currentData.AddDays(4));

chart1.Series[series1].Points[0].AxisLabel = "Task 1";

und hier mein bisheriger Versuch das ganze hinzuzufügen und zu aktualisieren:

public void AddTaskToChart(TaskPlanChartArea chartArea)

        {


            chartArea.RemoveDataFromChart();

            int i = 1;

            foreach (Task t in taskPlan.Tasks)

            {

                chartArea.AddTaskToChart(i);

                i++;

            }

            CreateChart();


        }


public void AddTasksToChart(TaskPlan taskplan)

        {

            chart1.Series[series1].Points.Clear();

            int i = 1;


            for (int x = 0; x < taskplan.Tasks.Count; x++)

            {

                Task t = new Task(taskplan.Tasks[x].Name, taskplan.Tasks[x].StartDateTime,

                     taskplan.Tasks[x].EndDateTime, taskplan.Tasks[x].CurrentState);


                chart1.Series[series1].Points.AddXY(i, t.StartDateTime, t.EndDateTime);


                chart1.Series[series1].Points[i - 1].AxisLabel = t.Name;

                i++;

            }

            chart1.Update();

            chart1.Invalidate();

        }

Ich hoffe mir kann jemand einen kleinen Denkanstoß in die richtige Richtung geben.

Im voraus schon einmal vielen Dank.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...