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

Windows Forms Discussion :

soucis avec DataGridView [Débutant]


Sujet :

Windows Forms

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur Biomédical
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut soucis avec DataGridView
    Bonjour,

    J'ai fait un datagridview alimenté par un datatable pour afficher un tableau type feuille de donnée excel dans une fenetre. Ca fonctionne, sauf pour les lignes mises en commentaire et je ne comprends pas pourquoi.

    1) les lignes en commentaires 1 sont destinées à masquer deux colonnes, mais si je les laisse, j'ai une fenetre avec une croix rouge dedans.

    2) Dans le commentaire 2, il s'agit de modifier la cosmétique des lignes, mais le nombre de ligne du datagridview est toujours à zéro (dg.Rows.Count) alors que j'ai bien n lignes d'affichées et n lignes dans mon datatable...

    Voilà, d'avance merci pour votre aide !

    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
     
            private void FormModifSuppr_Paint(object sender, PaintEventArgs e)
            {
                DataGridView dg = new DataGridView();
     
                dg.DataSource = ClassDataTable.LeTableauHorairesPresence;
                dg.Size = new Size(1500, 800);
     
                dg.AllowUserToAddRows = false;
                dg.AllowUserToDeleteRows = true;
     
                dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                dg.AutoResizeColumns();
     
                /* Commentaire 1
                dg.Columns["ModuleDepart"].Visible = false;
                dg.Columns["CouleurIntervenant"].Visible = false;
                */
     
                /* Commentaire 2
                for (int i = 0; i < dg.Rows.Count; i++) 
                {
                   dg.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                }
                */
     
                this.Controls.Add(dg);
     
            }

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour le commentaire 1 : d'une façon générale, ces modifications ne doivent pas être faites dans l'event Paint.

    Idem pour le commentaire 2, en sachant que si l'on veut afficher des BackColor variables suivant le contenu de la ligne ou de la cellule, on utilisera l'event CellFormatting
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Bonsoir,

    Point 1 :
    Les colonnes sont a priori générées automatiquement. Es-tu sur du nom de tes colonnes ?

    Point 2 :
    Une source possible du problème est qu'à chaque événement Paint, tu créés une nouvelle DataGridView que tu affectes à ton control. Comme souligné par Graffito, commence par supprimer toutes ces actions de la gestion de l'événement Paint (Paint = dessin, et non initialisation puis dessin), et créé et initialise ton DataGridView en dehors.

  4. #4
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur Biomédical
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup, je vais faire ces modifs... Je me suis également aperçu que si je mets la ligne "this.Controls.Add(dg);" avant les parties en commentaire, çà marche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Souci graphique avec datagridview
    Par shadowmoon dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/09/2014, 23h44
  2. [Débutant] un petit soucis avec mon DataGridView
    Par morad-9 dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/01/2012, 16h37
  3. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 19h13
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 17h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 13h16

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