Somme des cellules dans une colonnes dans un datagridview

termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021 - 7 juil. 2018 à 16:00
Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 - 8 juil. 2018 à 19:33
Un grand Bonjour à vous ,
svp est ce que quelqu'un peut m'aider svp

j'aimerais faire la somme des éléments contenues dans des cellules correspondant à une colonnes et afficher le résultat dans un textbox.
merci de m'aider svp

4 réponses

Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
7 juil. 2018 à 16:19
Bonjour

Ton datagridview est il bindé sur une source de données?

0
termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021
7 juil. 2018 à 16:33
non j'ai utilisé j'ai utilisé: mndgv.Rows.add(elm1,elm2,elm3);
je veux faire la somme des cellules qui se trouve dans la colonne des elm3
0
Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
7 juil. 2018 à 17:50
ET bien c'est dommage, ça aurait été plus simple de faire la somme de nombres...

Dans ton cas, du dois faire une boucle de toute les cellules de la colonne, extraire le texte écrit, le convertir en nombre et enfin l'additionner.
0
termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021
7 juil. 2018 à 18:14
et si le datagridview à été binde à une source
j'aurais fait quoi svp
0
Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
7 juil. 2018 à 18:17
Tu aurais juste ajouter les nombres qui vont bien
0
termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021
7 juil. 2018 à 18:25
un exemple serait vraiment cool je suis un petit peu flou svp
si vous pouvez me donner un exemple svp
merci pour votre aide
0
Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
7 juil. 2018 à 20:39
Soient les 2 classes suivantes
using System;
using System.Collections.Generic;
using System.Linq;

namespace test
{
    class ExempleTermitus
    {
        public List<LesDonnees> Donnees { get; set; }

        public int SommeElement3
        {
            get { return Donnees.Sum(x => x.Element3); }
        }

        public int SommeDeJanvier
        {
            get { return Donnees.Where(x => x.Element2.Month == 1).Sum(x => x.Element3); }
        }

        public int SommeDeS18DernierMois
        {
            get { return Donnees.Where(x => x.Element2 <= DateTime.Now && x.Element2 > DateTime.Now.Date.AddMonths(-18)).Sum(x => x.Element3); }
        }

        public int SommeTexte2
        {
            get { return Donnees.Where(x => x.Element1 == "Texte1" ).Sum(x => x.Element3); }
        }
    }

    class LesDonnees
    {
        public string Element1 { get; set; }

        public DateTime Element2 { get; set; }

        public int Element3 { get; set; }
    }
}


dans ton formulaire
            //Création de la source de données
            ExempleTermitus exemple = new ExempleTermitus();
            exemple.Donnees = new List<LesDonnees>
            {
                new LesDonnees{ Element1 = "Texte1", Element2 = new DateTime(2018,07,07), Element3 = 123},
                new LesDonnees{ Element1 = "Texte2", Element2 = new DateTime(2017,07,07), Element3 = 234},
                new LesDonnees{ Element1 = "Texte3", Element2 = new DateTime(2017,01,01), Element3 = 345},
                new LesDonnees{ Element1 = "Texte1", Element2 = new DateTime(2019,01,01), Element3 = 456},
                new LesDonnees{ Element1 = "Texte2", Element2 = new DateTime(2019,07,07), Element3 = 567},
                new LesDonnees{ Element1 = "Texte3", Element2 = new DateTime(2018,01,01), Element3 = 789},

            };


            //utilisation de la source de données
            dataGridView1.DataSource = exemple.Donnees;

            textBox1.Text = exemple.SommeElement3.ToString();
            textBox2.Text = exemple.SommeDeJanvier.ToString();
            textBox3.Text = exemple.SommeDeS18DernierMois.ToString();
            textBox4.Text = exemple.SommeTexte2.ToString();


Voilà un petit tuto sur le binding
https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource

Et là un tuto moins petit sur la programmation objet en C#
https://codes-sources.commentcamarche.net/faq/11239-la-programmation-objet-appliquee-a-net-par-l-exemple-partie-1-sur-3

0
termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021
7 juil. 2018 à 23:26
ça me va très bien
Merci beaucoup pour votre aide
0
Whismeril Messages postés 19039 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
8 juil. 2018 à 19:33
0
Rejoignez-nous