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 :

Taille des colonnes datagrid


Sujet :

Windows Forms

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut Taille des colonnes datagrid
    Bonjour, je n'arrive pas a tailler mes colonnes de mon datagrid de maniere a ce qu'elle soit ajuster au contenu.
    j'ai trouvé un exemple sur msdn mais je ne le comprends pas tres bien, avez vous un exemple au lien?
    Merci

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    sur ta grid, tu as une propriété AutoSizeColumnsMode (pas testé)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    Ca ne marche pas j'ai essayé avec toutes les possibilités.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    c'est bien ca pourtant, mais peut etre que cette propriété doit etre settée avant le remplissage

    sinon moi après le remplissage je fais un for each sur les colonnes et y a une propriété qui doit avoir le meme nom qui marche ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Expert confirmé 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
    Par défaut
    Ca ne marche pas
    Exact.

    J'ai fait un code pour permettre de switcher du mode "AdjustAuto" au mode "AdjustManuel" via un Control situé sur la cellule 0 du header ( top left du dataGridView) et affiche "<->" pour passer en mode auto et "-|-" pour mode manuel.

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
           
       private Label Redrawlabel ; 
       ...
       // Initialise le column sizing à l'init du GridView 
       GridView.AutoSizeColumnsMode =
                DataGridViewAutoSizeColumnsMode.DisplayedCells;
       RedrawLabel = AddLabel(6,3,"<->",GridView.Controls) ;
       RedrawLabel.Font = new Font(RedrawLabel.Font, System.Drawing.FontStyle.Bold);
       RedrawLabel.Click += RedrawLabel_Click;
       GridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None ;
       GridView.AllowUserToResizeColumns =true ;
       ...
    
      private void RedrawLabel_Click(object sender, EventArgs e)
        {      if (RedrawLabel.Text == "<->")
          {
            //  set Cursor = WaitCursor ...
            GridView.AutoSizeColumnsMode = 
                  DataGridViewAutoSizeColumnsMode.DisplayedCells;
            GridView.AutoResizeColumns();
            // restore Cursor ...
            RedrawLabel.Text = "-|-";
          }
          else
          {
            GridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None ;
            GridView.AllowUserToResizeColumns =true ;
            RedrawLabel.Text = "<->";
          }
        }
        internal static Label AddLabel(int X, int Y, String ControlText, 
                                       Control.ControlCollection ParentControls)
        {
          Label NewControl = new Label();
          NewControl.Location = new System.Drawing.Point(X, Y);
          NewControl.Text = ControlText;
          NewControl.Size = new Size(10, 99);
          ParentControls.Add(NewControl);
          NewControl.AutoSize = true;
          return NewControl;    }

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    mais ca me parait bien compliquer.
    est ce pas possible de tailler les colonnes en fonction du contenu?

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Par défaut
    Normal que ca ne marche pas :p il faut l'appliquer à toute les colonnes.

    Sur une column
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.Columns["ColumnName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    sur toute les colomns
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (DataGridViewColumn column in dataGridView1.Columns)
                {
                    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                }
    a+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/05/2010, 15h53
  2. [DataGrid] Taille des colonnes en relatif
    Par MacReiben dans le forum Silverlight
    Réponses: 0
    Dernier message: 30/09/2009, 17h59
  3. [DataGrid] Taille des colonnes
    Par maitrebn dans le forum Silverlight
    Réponses: 2
    Dernier message: 23/09/2009, 10h42
  4. Datagrid - Taille des colonnes
    Par eristoff53 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/05/2009, 13h24
  5. régler la taille des colonnes d'un DBGrid
    Par nous2 dans le forum Bases de données
    Réponses: 6
    Dernier message: 01/10/2005, 16h35

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