p
u
b
l
i
c
i
t
é
publicité

Discussion: soucis avec DataGridView [Débutant]

  1. #1
    Invité de passage
    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 : 4
    Points
    4

    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 Confirmé Sénior Avatar de Graffito
    Inscrit en
    janvier 2006
    Messages
    5 992
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 5 992
    Points : 7 767
    Points
    7 767

    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 confirmé
    Homme Profil pro
    Chef de Projet
    Inscrit en
    décembre 2012
    Messages
    111
    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 : 111
    Points : 245
    Points
    245

    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
    Invité de passage
    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 : 4
    Points
    4

    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, 22h44
  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, 15h37
  3. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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