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 :

cacher colonne DataGridView WinForm [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 76
    Par défaut cacher colonne DataGridView WinForm
    Bonjour
    J'ai un menu comme ceci:



    Et un DataGridView avec des colonnes.

    Quand on va checker dans le menu sa met une colonnes en visible ou sa l'affiche.

    Par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            private void tStripNom_CheckedChanged(object sender, EventArgs e)
            {
                if (tStripNom.Checked)
                    dgvJoueur.Columns["NOM_PERSONNE"].Visible = true;
                else
                    dgvJoueur.Columns["NOM_PERSONNE"].Visible = false;
            }
    Sauve que le problème c'est que j'ai 8 évènements comme celui-ci

    J’aimerais savoir si je peux réduire ce code. Vue que y que le nom des Columns qui change et le nom de l’évènement.

    Cordialement

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    Bonjour,
    cela peut se faire très simplement :

    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
     
            private void SetColonneDisplay(String NomColonne, Boolean Visible)
            {
                if (dgvJoueur.Columns[NomColonne] != null)
                    dgvJoueur.Columns[NomColonne].Visible = Visible;
            }
     
            private void tStripNom_CheckedChanged(object sender, EventArgs e)
            {
                SetColonneDisplay("NOM_PERSONNE", tStripNom.Checked);
            }
     
            private void tStripPrenom_CheckedChanged(object sender, EventArgs e)
            {
                SetColonneDisplay("PRENOM_PERSONNE", tStripPrenom.Checked);
            }
     
             //etc...
    Et tu peux aussi centraliser les événements CheckedChanged de tes différents ToolStripMenuItem :

    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
     
            private void SetColonneDisplay(String NomColonne, Boolean Visible)
            {
                if (dgvJoueur.Columns[NomColonne] != null)
                    dgvJoueur.Columns[NomColonne].Visible = Visible;
            }
     
            private void toolStripMenuItem_CheckedChanged(object sender, EventArgs e)
            {
                ToolStripMenuItem item = (ToolStripMenuItem)sender;
     
                switch (item.Name)
                {
                    case "tStripNom": SetColonneDisplay("NOM_PERSONNE", item.Checked);
                        break;
                    case "tStripPrenom": SetColonneDisplay("PRENOM_PERSONNE", item.Checked);
                        break;
                     //etc...
                }
            }
    Ou encore, tu peux adapter ce qu'il y a dessus avec un Dictionnary.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 76
    Par défaut
    merci à toi.
    C'est exactement se que je voulais.

    je comprends se que tu as fait

    Merci.

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

Discussions similaires

  1. fonction cacher colonne tableau
    Par isa150183 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 22/07/2008, 09h47
  2. Format d une colonne DataGridView en durée ?
    Par Slumpy dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/09/2007, 18h54
  3. cacher colonne venant d'un query
    Par Mihalis dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/09/2006, 18h50
  4. [CF][C#]Comment cacher colonne du DataGrid sous PPC ?
    Par jogrey dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 15/03/2006, 14h53
  5. [VB.NET] DataSet - DataGrid - Cacher Colonne
    Par Seb.M dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/03/2005, 12h37

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