none
Affichage en DataGridView

    Question

  • salut, ma question est concernant le datagridview.je créer une classe ctsContacts avec ce code source:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace TestingListe
    {
        class ctsContacts:lstContacts
        {
            private int _numero;
     
            public int Numero
            {
                get { return _numero; }
                set { _numero = value; }
            }
     
            private string _nom;
     
            public string Nom
            {
                get { return _nom; }
                set { _nom = value; }
            }
            private string _prenom;
     
            public string Prenom
            {
                get { return _prenom; }
                set { _prenom = value; }
            }
            private string _message;
     
            public string Message
            {
                get { return _message; }
                set { _message = value; }
            }
     
     
            public ctsContacts()
            {
     
            }
     
            public ctsContacts(int numero, string nom,string prenom,string message)
            {
                this.Numero = numero;
                this.Nom = nom;
                this.Prenom = prenom;
                this.Message = message;
            }
     
            public bool recherche(int num)
            {
                foreach (ctsContacts search in ct)
                {
                    if (search.Numero == num)
                    {
                        return false;
                    }
     
                }
                return true;
     
            }
     
            public bool Ajouter(ctsContacts ctn)
            {
                if (this.recherche(ctn.Numero) == true)
                {
                    ct.Add(ctn);
                    return true;
                }
                return false;
            }
     
        }
    }

    ce classe herite un autre classe abtraite qui contient une liste

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace TestingListe
    {
        class lstContacts
        {
            public static List<ctsContacts> ct = new List<ctsContacts>();
            public lstContacts()
            {
     
            }
     
        }
    }

    et puis dans le formulaire de contact et au niveau de bouton ajouter j'ecris ce code source

    private void btnajouter_Click(object sender, EventArgs e)
            {
                ctsContacts contact = new ctsContacts();
                contact.Numero = int.Parse(txtnumero.Text);
                contact.Nom = txtNom.Text;
                contact.Prenom = txtPrenom.Text;
                contact.Message = txtmesssage.Text;
     
                contact.Ajouter(contact);
     
                dgvcontacts.DataSource = null;
     
                dgvcontacts.DataSource = ctsContacts.ct;
     
            }

    le problème c'est au niveau de l'affichage de datagridview qui copier entête à droite.



    lundi 17 octobre 2016 12:11

Toutes les réponses

  • Bonjour

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestingListe { public class ctsContact {

    private int _numero; public int Numero { get { return _numero; } set { _numero = value; } } private string _nom; public string Nom { get { return _nom; } set { _nom = value; } } private string _prenom; public string Prenom { get { return _prenom; } set { _prenom = value; } } private string _message; public string Message { get { return _message; } set { _message = value; } } public ctsContact() { } public ctsContact(int numero, string nom,string prenom,string message) { this.Numero = numero; this.Nom = nom; this.Prenom = prenom; this.Message = message; } }

    public static class ctsContacts

    {

    public static List<ctsContact> ct = new List<ctsContact>();

    public static bool recherche(int num) { foreach (ctsContact search in ct) { if (search.Numero == num) { return false; } } return true; } public static bool Ajouter(ctsContact ctn) { if (recherche(ctn.Numero) == true) { ct.Add(ctn); return true; } return false; }

    }

    }

    Avec l'objet ctsContacts construit comme ci-dessus ça devrait être mieux.

    Il faut un objet qui permet juste de créer un contact (ctsContact) et un objet qui permet de gérer les contacts (ctsContacts). C'est ce dernier qui doit contenir la liste de contacts et les méthodes qui intéragissent avec elle. 

    private void btnajouter_Click(object sender, EventArgs e)
            {
                ctsContact contact = new ctsContact();
                contact.Numero = int.Parse(txtnumero.Text);
                contact.Nom = txtNom.Text;
                contact.Prenom = txtPrenom.Text;
                contact.Message = txtmesssage.Text;
     
                ctsContacts.Ajouter(contact);
     
                dgvcontacts.DataSource = null;
     
                dgvcontacts.DataSource = ctsContacts.ct;
     
            }



    lundi 17 octobre 2016 13:26
  • je modifier mon code presque avec votre idée:

    ctsContacts.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace TestingListe
    {
       public  class ctsContacts
        {
            private int _numero;
    
            public int Numero
            {
                get { return _numero; }
                set { _numero = value; }
            }
    
            private string _nom;
    
            public string Nom
            {
                get { return _nom; }
                set { _nom = value; }
            }
            private string _prenom;
    
            public string Prenom
            {
                get { return _prenom; }
                set { _prenom = value; }
            }
            private string _message;
    
            public string Message
            {
                get { return _message; }
                set { _message = value; }
            }
    
    
            public ctsContacts()
            {
    
            }
    
            public ctsContacts(int numero, string nom,string prenom,string message)
            {
                this.Numero = numero;
                this.Nom = nom;
                this.Prenom = prenom;
                this.Message = message;
            }
    
    
         
        }
    }
    

    lstContacts.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace TestingListe
    {
      public static  class lstContacts
        {
            public static List<ctsContacts> ct = new List<ctsContacts>();
            //public static lstContacts()
            //{
    
            //}
    
            private static bool recherche(int num)
            {
                foreach (ctsContacts search in ct)
                {
                    if (search.Numero == num)
                    {
                        return false;
                    }
    
                }
                return true;
    
            }
    
            public static bool Ajouter(ctsContacts ctn)
            {
                if (recherche(ctn.Numero) == true)
                {
                    ct.Add(ctn);
                    return true;
                }
                return false;
            }
    
        }
    }
    

    bouton Ajouter

            private void btnajouter_Click(object sender, EventArgs e)
            {
                ctsContacts contact = new ctsContacts();
                contact.Numero = int.Parse(txtnumero.Text);
                contact.Nom = txtNom.Text;
                contact.Prenom = txtPrenom.Text;
                contact.Message = txtmesssage.Text;
    
                lstContacts.Ajouter(contact);
    
                dgvcontacts.DataSource = null;
    
                dgvcontacts.AutoGenerateColumns = true;
                dgvcontacts.DataSource = lstContacts.ct;
    
               
    
            }

    mais il reste le même problème

    je ne sais pas pourquoi dans cette video il l'a créer et il l'affiche correctement. malgré je fais presque le même demarche?!!!!

    TP2 GESTION COMMERCIALE : Séance 1

    lundi 17 octobre 2016 18:06
  • Bonjour,

    C'est étrange je viens de tester votre code, il fonctionne très bien chez moi.

    Vous n'auriez pas créé les colonnes à la main dans le designer par hasard ?

    Si c'est le cas votre problème vient de là, il faut les enlever dans le designer.
    mardi 18 octobre 2016 07:05