IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Créer un graphe dynamique


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Points : 45
    Points
    45
    Par défaut Créer un graphe dynamique
    Bonjour

    J'ai des données que je sors depuis SQL, par exemple :

    MACHINE DescriptionMachine ETAT_TRS ETAT SOUS_ETAT TIMESTAMP TotalDureeHeures Ligne IDLot PosteDeTravail DescriptionPosteDeTravail
    600068 Exemple 2.1 Arrêt Attente intervention 2016-03-31 00:00:00.000 12.853333 test 1 test 2 t est test

    j'aimerais faire un graphe de type stackcolumn, par jour (un stack column par jour) et par type (qu'il m'ajoute une couleur par t'ype D'ETAT TRS)

    Si vous pouvez m'aider, j'ai déjà pondu un bout de code mais j'y arrive pas

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    double yvalue = 0;
     
                DateTime dtCourante;
     
                dtCourante = Convert.ToDateTime(dtpDebut.Value.Year + "-" + dtpDebut.Value.Month + "-" + dtpDebut.Value.Day);
     
                chrTRS.ChartAreas.Clear();
                chrTRS.ChartAreas.Add("ChartArea1");
                chrTRS.Series.Clear();
                //chrTRS.ChartAreas["ChartArea1"].AxisX.Title = "Date";
                //chrTRS.ChartAreas["ChartArea1"].AxisY.Title = "Répartition durée";
     
                DataView dv = dtDatas.DefaultView;
                dv.Sort = "TIMESTAMP, ETAT_TRS";
     
                strEtatMemo = "";
     
                do
                {
                    yvalue = 0;
     
                    for (int i = 0; i < dv.Count; i++)
                    {
                        dtTimeStamp = Convert.ToDateTime(Convert.ToDateTime(dv[i]["TIMESTAMP"]).Year + "-" + Convert.ToDateTime(dv[i]["TIMESTAMP"]).Month + "-" + Convert.ToDateTime(dv[i]["TIMESTAMP"]).Day);
     
                        if (dtTimeStamp == dtCourante)
                        {
                            //MessageBox.Show(dtTimeStamp.ToString());
     
                            if (chrTRS.Series.IndexOf(dv[i]["SOUS_ETAT"].ToString().Trim()) == -1)
                            //if (chrTRS.Series.IndexOf(strEtatMemo) == -1)
                            {
                                chrTRS.Series.Add(dv[i]["SOUS_ETAT"].ToString().Trim());
                                //chrTRS.Series[dv[i]["SOUS_ETAT"].ToString().Trim()]["StackedGroupName"] = "Group1";
                                chrTRS.Series[dv[i]["SOUS_ETAT"].ToString().Trim()].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn;
                                yvalue = 0;
                            }
     
                            if (strEtatMemo != dv[i]["SOUS_ETAT"].ToString().Trim() && strEtatMemo != "")
                            {
                                chrTRS.Series[strEtatMemo].Points.AddXY(dtCourante.ToShortDateString(), yvalue);
                                //MessageBox.Show(dtCourante + " " + yvalue + " " + strEtatMemo);
                                yvalue = 0;
                            }
     
                            yvalue = yvalue + Convert.ToDouble(dv[i]["TotalDureeHeures"].ToString());
     
                            strEtatMemo = dv[i]["SOUS_ETAT"].ToString().Trim();
                        }
                    }
     
                    if (yvalue != 0)
                    {
                        chrTRS.Series[strEtatMemo].Points.AddXY(dtCourante.ToShortDateString(), yvalue);
                        //MessageBox.Show(dtCourante + " " + yvalue + " " + strEtatMemo);
                        yvalue = 0;
                    }
     
                    dtCourante = dtCourante.AddDays(1);
                }
                while (dtCourante <= dtpFin.Value);
                //chrTRS.Series.Add("sam");
                //chrTRS.Series["sam"].Points.AddXY("Test", 10);
                chrTRS.DataBind();
                //MessageBox.Show(dv.Count.ToString());
    Dedans j'ai 2 composants de type date (pour choisir un jour dans le calendrier) et si je choisis qu'aujourd'hui je veux un stack colum des états d'aujourd'hui et si je mets hier et aujourd'hui je veux 2 stack column avec la date en dessous.

    Actuellement j'ai des symptômes étranges ... Par exemple si dans mes DateTimePicker je sélectionne que aujourd'hui tout est jaune (machine éteinte dans la légende) et avec la date d'aujourd'hui sur l'axe X mais si dans mes datetimepicker je mets 04 avril en début et 05 avril en fin j'ai des données qui sembles correctes pour 05.04.2016, mais rien en 04.06.2016... Si je mets du 03.04.2016 au 05.03.2016 en X je me retrouve avec 2 stackcolum en date du 05.04.2016 j'ai des trucs étranges et je sais pas comment faire mon graphe correctement et propre. merci.

  2. #2
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    A deplacer dans la catégorie Winform svp merci

Discussions similaires

  1. Créer un graphe dynamique en Java
    Par Badshade23 dans le forum 2D
    Réponses: 1
    Dernier message: 09/07/2015, 10h46
  2. [XL-2003] Créer un graph à partir de tableaux dynamique
    Par Daetheia dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 18/11/2011, 10h51
  3. VBA EXCEL - créer graphe dynamiquement
    Par neo2k2 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/06/2008, 15h18
  4. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 10h23
  5. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo