2010-02-01 3 views
0

J'ai créé des colonnes de mon DataGrid à l'aide ce,Affecter dynamiquement une largeur de colonne à une grille de données WinForms?

private void Receive_Load(object sender, System.EventArgs e) 
    { 
     DataGridView1.Columns.Add("Sender",typeof(string)); 
     DataGridView1.Columns.Add("Time",typeof(string)); 
     DataGridView1.Columns.Add("Message",typeof(string)); 
    } 
  • Comment puis-je attribuer dynamiquement une largeur de colonne à un DataGrid WinForms?
+0

Ancienne question, je sais, mais utilisez-vous un DataGrid ou un DataGridView? Un DataGrid n'a pas de propriété Columns, en supposant que c'est ce que dt est. (Ou est dt un DataTable?). – kristianp

Répondre

1

Je pense que vous êtes à la recherche de quelque chose en ligne

DataGridView1.Columns["ColumnName"].Width = 75; 

J'espère que cela vous aidera.

De plus, vous pouvez définir AutoSizeMode de la colonne pour obtenir différents comportements automatiquement. Par exemple, si vous le définissez sur ColumnHeader, la largeur de la cellule sera définie de manière à afficher le texte de l'en-tête. Vous pouvez obtenir plus d'informations dans ce Link.

+0

Le lien (et votre code) fait référence au contrôle DataGridView et non au DataGrid. – kristianp

+0

Comme vous l'avez fait, je suppose que nous parlons du contrôle DataGridView, car DataGrid n'a pas de propriété de colonne. En prévision de futurs malentendus, j'ai réessayé la question en tant que DataGridView. – Jonathan

+0

Merci, mais dt ressemble plus à DataTable pour moi. – kristianp

-1

Voici une suggestion: Si vous connaissez la longueur de vos champs que vous pouvez multiplier leur longueur par une valeur constante (largeur de caractères max par exemple) pour produire une largeur dynamique.

Questions connexes