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 :

faire un graphique en utilisant les valeurs d'un datagridview


Sujet :

C#

  1. #41
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    mon datagridview n'est pas reconnu dans les autre fenêtre alors que j'ai bien mis la propriété "modifiers" en Public
    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
    public static class DataLoader
        {
            public static List<Donnees> Load(String path)
            {
                List<Donnees> listdedonnees = new List<Donnees>();
                string[] contenu = File.ReadAllLines(path);
                if (contenu.Count() > 0)
                {
                    for (int i = 1; i < contenu.Count(); i++)
                    {
                        // On découpe la ligne à chaque fois qu'il y a le caractère ";"
                        string[] rowData = contenu[i].Split(';');
                        listdedonnees.Add(new Donnees { Date = DateTime.ParseExact(rowData[0], "dd/MM/yy", new CultureInfo("fr-FR")), Heure = DateTime.ParseExact(rowData[1], "HH:mm:ss", new CultureInfo("fr-FR")), TemperatureInterieur = Double.Parse(rowData[2]), TemperatureExterieur = Double.Parse(rowData[3]), HumiditeInterieur = Double.Parse(rowData[4]), HumiditeExterieur = Double.Parse(rowData[5]), DirectionDuVent = Double.Parse(rowData[6]), VitesseDuVent = Double.Parse(rowData[7]), Enssolleillement = Double.Parse(rowData[8]), TemperatureBatterie = Double.Parse(rowData[9]), TensionBatterie = Double.Parse(rowData[10]) }); ;
     
                    }
     
                }
     
                return listdedonnees;
            }
     
        }
    ensuite dans mon csv c'est bien des slash du coup j'ai modifier dd:MM:yy par des slash mais le "new cultureInfo("fr-FR") est introuvable Nom : ce.png
Affichages : 79
Taille : 25,9 Ko
    et également ma list "listdedonnees" est introuvable j'ai voulu la mettre dans le datagridview
    j'ai mis comme tu m'avais proposer la derniere fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                dataGridView1.DataSource = listdedonnees;

  2. #42
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Pour quelle raison ton datagridview devrait-il être connu des autres fenêtres ?
    Passer par la liste de données sert justement à éviter cela.

    Au sujet de new CultureInfo("fr-FR"), il te manque simplement la référence à System.Globalization.
    D'ailleurs il est impossible d'avoir accès à "CultureInfo.InvariantCulture", sans avoir accès à "new CultureInfo" !

    la variable listededonnees est introuvable et c'est normal puisqu'elle fait partie de l'implémentation privée de la DataLoader.Load()
    Comme expliqué et démontré par du code dans mon dernier message, depuis que le chargement des données a été confiée à la classe DataLoader, c'est par cette classe qu'il faut passer.
    Citation Envoyé par popo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void Form1_Load(object sender, EventArgs e)
    {
        string path = "C:/Users/Lucas/Documents/test.csv";
        dataGridView1.Datasource = DataLoader.Load(path);
    }

  3. #43
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    ah oui désolé je me suis embrouillé

    dans mon csv l'affichage de la date est fait avec un séparateur "/" donc j'ai essayé de modifier le code en mettant des slash au lieu des points mais il y a toujours une erreur
    System.FormatException*: 'String '' was not recognized as a valid DateTime.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        listdedonnees.Add(new Donnees { Date = DateTime.ParseExact(rowData[0], @"dd/MM/yyyy", new CultureInfo("fr-FR")), Heure = DateTime.ParseExact(rowData[1], "HH:mm", new CultureInfo("fr-FR")), TemperatureInterieur = Double.Parse(rowData[2]), TemperatureExterieur = Double.Parse(rowData[3]), HumiditeInterieur = Double.Parse(rowData[4]), HumiditeExterieur = Double.Parse(rowData[5]), DirectionDuVent = Double.Parse(rowData[6]), VitesseDuVent = Double.Parse(rowData[7]), Enssolleillement = Double.Parse(rowData[8]), TemperatureBatterie = Double.Parse(rowData[9]), TensionBatterie = Double.Parse(rowData[10]) }); ;

  4. #44
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Le message te dit clairement qu'il ne peut pas transformer ta chaine en date.
    Tu as donc une ligne où rowData[0] et/ou rowData[1] renvoient une chaine non conforme au format.

    Edit :
    Vérifie que tu n'as pas de ligne vide (y compris la dernière ligne du fichier).
    Vérifie que toutes tes lignes sont conformes au format attendu.

  5. #45
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    j'avais la première ligne de la colonne ou c'était écrit date puis heure sur la deuxième mais du coup je les ai retiré mais j'ai toujours la même erreur

  6. #46
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Quel est le contenu de rowData lorsque tu plantes ?

  7. #47
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    mon datagridview se remplit pas du coup je peux pas voir ce qu'il y a dans la premiere colonne, dès que je vais sur la page ou il y a mon dtg j'ai le message d'erreur
    System.FormatException*: 'String '09/04/2002' was not recognized as a valid DateTime.'

  8. #48
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Si tu exécutes sans debug, tu ne risques pas de voir d'où proviennent les erreurs que tu rencontres.

    Mais bon, je commence à penser que tu travailles dans un environnement qui n'a pas la langue française.

    Essaie en remplaçant les new CultureInfo("fr-FR") par des CultureInfo.CurrentCulture. En dernier recours essaie CultureInfo.InvariantCulture.

  9. #49
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    j'exécute pas sans debug, l'erreur est sur la ligne que j'avais partagé .. J'avais déjà essayé le .InvariantCulture ça n'avait rien changer et je viens de tester le .CurrentCulture et ça me met toujours la même erreur

  10. #50
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    j'ai un peu triché ça fonctionne presque, j'ai remplacé le .PerseExact par un .Perse dans mon dgv j'ai bien tout qui s'affiche le problème est dans la colonne de l'heure j'ai la date d'aujourd'hui qui s'affiche aussi alors que dans mon csv j'ai juste une heure dans cette colonne Nom : da.png
Affichages : 78
Taille : 59,1 Ko

    j'ai une autre question pourquoi la colonne date et heure temperature/tension de la batterie et direction du vent et vitesse du ventce mette a la fin de mon dgv alors que dans le code je les ai mis dans le même ordre que dans le csv
    je voudrais au moins mettre la date et l'heure au début pour que ce soit plus propre ..

  11. #51
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Lorsque tu plantes en mode debug, le programme est sensé s'arrêter sur le ligne qui pose problème.
    Et à ce moment là, tu devrais pouvoir regarder le contenu de la variable dataRow.

    Tu as mis Parse à la place de ParseExact
    Tu as donc la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listdedonnees.Add(new Donnees { Date = DateTime.Parse(rowData[0]), Heure = DateTime.Parse(rowData[1]), TemperatureInterieur = Double.Parse(rowData[2]), TemperatureExterieur = Double.Parse(rowData[3]), HumiditeInterieur = Double.Parse(rowData[4]), HumiditeExterieur = Double.Parse(rowData[5]), DirectionDuVent = Double.Parse(rowData[6]), VitesseDuVent = Double.Parse(rowData[7]), Enssolleillement = Double.Parse(rowData[8]), TemperatureBatterie = Double.Parse(rowData[9]), TensionBatterie = Double.Parse(rowData[10]) }); ;
    Si ça marche comme ça, tant mieux mais il y a un élément qui ne colle pas et qui risque de provoquer un comportement non désiré à un moment.


    L'ordre des colonnes est déterminé par l'ordre dans lequel elles sont déclarées, pas dans l'ordre où tu les remplis.
    Dans la classe Donnees, change l'ordre des propriétés, l'affichage dans la grille devrait suivre.
    Par ailleurs, en déclarant un attribut DisplayName, cela améliorera l'affichage des en-tête de colonnes.
    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
    namespace Relais_R3X
    {
        public class Donnees
        {
            public DateTime Date { get; set; }
            public DateTime Heure { get; set; }
            [DisplayName("Température intérieure")]
            public Decimal TemperatureInterieur { get; set; }
            [DisplayName("Température extérieure")]
            public Decimal TemperatureExterieur { get; set; }
            [DisplayName("Humidité intérieure")]
            public Decimal HumiditeInterieur { get; set; }
            [DisplayName("Humidité extérieure")]
            public Decimal HumiditeExterieur { get; set; }
            [DisplayName("Direction du vent")]
            public Decimal DirectionDuVent { get; set; }
            [DisplayName("Vitesse du vent")]
            public Decimal VitesseDuVent { get; set; }
            public Decimal Enssolleillement { get; set; }
            [DisplayName("Température batterie")]
            public Decimal TemperatureBatterie { get; set; }
            [DisplayName("Tension batterie")]
            public Decimal TensionBatterie { get; set; }
        }
    }

  12. #52
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    Oui mais justement la ligne qui met indiqué lorsque ça plante est celle que j'avais partagé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        listdedonnees.Add(new Donnees {Date = DateTime.ParseExact(rowData[0], "dd:MM:yyyy", CultureInfo.InvariantCulture), Heure = DateTime.Parse(rowData[1]), TemperatureInterieure = Double.Parse(rowData[2]), TemperatureExterieure = Double.Parse(rowData[3]), HumiditeInterieure = Double.Parse(rowData[4]), HumiditeExterieure = Double.Parse(rowData[5]), DirectionDuVent = Double.Parse(rowData[6]), VitesseDuVent = Double.Parse(rowData[7]), Enssolleillement = Double.Parse(rowData[8]), TemperatureBatterie = Double.Parse(rowData[9]), TensionBatterie = Double.Parse(rowData[10]) }); ;
    Nom : s.png
Affichages : 118
Taille : 50,9 Ko

    J'aurais bien aimé utiliser directement le ParseExact parce que si je met juste un .Parse sur la colonne de l'heure j'ai la date d'aujourd'hui puis l'heure qui est indiqué sur mon csv

  13. #53
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Lorsque tu es dans cette situation, il suffit de passer le pointeur de la souris sur la variable "dataRow" pour voir son contenu.

    Tu es sûr pour le 3ème "d" que tu as mis dans le format ?

    Edit :
    Tu pourrais poster le contenu du fichier CSV que tu testes (au moins une partie) ?

  14. #54
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    quand je met mon curseur sur la variable rowData ça n'affiche rien, je n'ai que le message d'erreur que j'ai mis en pièce jointe juste avant ...
    Nom : csv.png
Affichages : 62
Taille : 12,7 Ko
    mais même quand je met "dd:MM:yyyy" ça me met toujours la même erreur

  15. #55
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Dans ce cas, affiche la fenêtre Espion (Ctrl+D, puis W, ou Déboguer > Windows > Watch> Watch 1 ) et ajoute la variable dataRow.

    Tu voudrais pas poster le contenu du CSV pour que je teste avec du concret.

  16. #56
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    Nom : rr.png
Affichages : 65
Taille : 228,4 Ko

    ça représente quoi string 11

    Date Heure Temperature interne Temperature externe Humidite interne Humidite externe Direction du vent Vitesse du vent Enssolleillement Temperature de la batterie Tension de la batterie
    09/04/2002 00:00:00 20 30 45 10 20 50 80 20 100
    09/04/2022 00:30:00 3 4 5 6 7 8 9 10 1
    09/04/2022 01:30:00 3 4 5 6 77 8 9 10 111
    09/04/2022 02:30:00 2955 4 5 6 7 8 9 10 11
    09/04/2022 03:30:00 3 4 5 6 7 8 99 10 11
    09/04/2022 04:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 05:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 06:30:00 3 4 5 6 77 8 9 10 11
    09/04/2022 07:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 08:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 09:30:00 3 4 5 6 7 8 9 10 1
    09/04/2022 10:30:00 3 4 5 6 7 8 9 10 1
    09/04/2022 11:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 12:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 13:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 14:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 15:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 16:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 17:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 18:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 19:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 20:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 21:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 22:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 23:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 00:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 01:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 02:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 03:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 04:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 05:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 06:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 07:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 08:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 09:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 10:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 11:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 12:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 13:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 14:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 15:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 16:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 17:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 18:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 19:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 20:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 21:30:00 3 4 5 6 7 8 9 10 11
    09/04/2022 22:30:00 3 4 5 6 7 8 9 10 11
    10/04/2022 23:30:00 3 4 5 6 7 8 9 10 11

    voici mon csv

  17. #57
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    J'aurais préféré la version texte séparée par des points virgules (pour partir de la même chose).

    dataRow est le résultat de l'appel à ToString() sur dataRow.
    Et puisque c'est un tableau des chaînes que tu as séparé avec Split (d'où les crochet "[" et "]") et que ce tableau à 11 valeurs (tes colonnes), cela renvoie "String[11]"

    Pour voir les valeurs, il suffit de cliquer sur la flèche (sous forme de triangle) tout à gauche pour dérouler son contenu.
    Tu peux également ajouter un espion sur la variable i pour voir quelle ligne de ton CSV est concerné.

    Sinon pour savoir ce qui plante, passe par variables intermédiaires.
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DateTime date = DateTime.ParseExact(rowData[0], "dd/MM/yyyy", CultureInfo.InvariantCulture);
    DateTime hour = DateTime.ParseExact(rowData[1], "HH:mm:ss", CultureInfo.InvariantCulture);
    Double internalTemperature = Double.Parse(rowData[2]);
    ...
    Double batteryVoltage = Double.Parse(rowData[10]);
     
    listdedonnees.Add(new Donnees { Date = date, Heure = hour, TemperatureInterieur = Double.Parse(rowData[2]), TemperatureExterieur = internalTemperature , ... TensionBatterie = batteryVoltage  });

  18. #58
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    le problème vient bien de la date j'ai fais les variable intermédiaire comme tu as proposé et toujours pareil
    ensuite l'espion sur la variable i me renvoie ça :
    09/04/2002;00:00:00;20;30;45;10;20;50;80;20;100

    contenu du csv :

    Date;Heure;Temperature interne;Temperature externe;Humidite interne;Humidite externe;Direction du vent;Vitesse du vent ;Enssolleillement;Temperature de la batterie ;Tension de la batterie
    09/04/2002;00:00:00;20;30;45;10;20;50;80;20;100
    09/04/2022;00:30:00;3;4;5;6;7;8;9;10;1
    09/04/2022;01:30:00;3;4;5;6;77;8;9;10;111
    09/04/2022;02:30:00;2955;4;5;6;7;8;9;10;11
    09/04/2022;03:30:00;3;4;5;6;7;8;99;10;11
    09/04/2022;04:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;05:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;06:30:00;3;4;5;6;77;8;9;10;11
    09/04/2022;07:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;08:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;09:30:00;3;4;5;6;7;8;9;10;1
    09/04/2022;10:30:00;3;4;5;6;7;8;9;10;1
    09/04/2022;11:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;12:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;13:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;14:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;15:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;16:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;17:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;18:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;19:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;20:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;21:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;22:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;23:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;00:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;01:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;02:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;03:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;04:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;05:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;06:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;07:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;08:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;09:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;10:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;11:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;12:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;13:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;14:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;15:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;16:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;17:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;18:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;19:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;20:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;21:30:00;3;4;5;6;7;8;9;10;11
    09/04/2022;22:30:00;3;4;5;6;7;8;9;10;11
    10/04/2022;23:30:00;3;4;5;6;7;8;9;10;11

  19. #59
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 48
    Points : 1
    Points
    1
    Par défaut
    bonne nouvelle ça a fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     DateTime Date = DateTime.ParseExact(rowData[0], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        DateTime Heure = DateTime.ParseExact(rowData[1], "HH:mm:ss", CultureInfo.InvariantCulture);
    pourtant lorsqu'on avait pas fait les variables intermédiaire j'avais déjà essayer de faire ça mais ça n'avait pas marché

    le seul problème c'est dans la colonne de l'heure lorsqu'elle s'affiche il y a toujours la date du jour qui se met juste avant l'heure de qui est indiqué dans la colonne de mon csv

  20. #60
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Je pense que tu as dû te mélanger dans les formats.
    A un moment tu avais 3 "d" sur la date, à un autre j'ai vu qu'il n'y avait pas les secondes sur le format de l'heure.

    Pour la colonne "Heure" de la grille, c'est le comportement par défaut lorsqu'on rencontre un DateTime.
    Pour changer ce comportement, il faut changer le format de la colonne concernée.
    Quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void Form1_Load(object sender, EventArgs e)
    {
        string path = "C:/Users/Lucas/Documents/test.csv";
        dataGridView1.Datasource = DataLoader.Load(path);
        dataGridView1.Columns["Heure"].DefaultCellStyle.Format = "HH:mm:ss";
    }

Discussions similaires

  1. Utiliser les valeurs d'une requete dans une autre requete ?!
    Par nekro65 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2009, 11h16
  2. Graphique utilisant les valeurs d'une Listbox
    Par fermat dans le forum Débuter
    Réponses: 2
    Dernier message: 19/09/2008, 12h21
  3. Faire une moyenne en ignorant les valeurs nulles
    Par Giansolo dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/06/2007, 14h38
  4. Réponses: 1
    Dernier message: 21/12/2006, 11h17
  5. Réponses: 5
    Dernier message: 05/10/2006, 10h18

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