Zum Inhalt springen

C# - RangeBarChart aktualisieren?


Gkar

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...