Comment fixer la largeur d'une colonne d'un Datagrid (C#)

Symptômes


Comment fixer la largeur d'une colonne d'un contrôle "Datagrid" en C#.NET

Résolution


Le contrôle "Datagrid" affiche des données sous forme de grille. La
classe DataGridTableStyle représente, quant à elle, la grille telle
qu'elle apparaît dans le contrôle "Datagrid". C'est donc cet objet qu'il
faut utiliser pour spécifier la largeur d'une colonne, la hauteur des
lignes etc_, du contrôle "Datagrid".

EXEMPLE :

Pour l'exemple suivant, nous allons créer un fichier xml qui nous servira
de source de données pour notre contrôle "Datagrid".

1) Pour créer le fichier xml :
- lancer Notepad.exe (le bloc-notes)
- coller le texte suivant :

<Books>
<Book ISBN="1" Title="Livre 1"/>
<Book ISBN="2" Title="Livre 2"/>
<Book ISBN="3" Title="Livre 3"/>
</Books>

- Sauvegarder le fichier en c:\books.xml

2) Lancer Visual Studio.NET et créer une application Windows en C#.NET.
Form1.cs est créé par défaut.

3) Ajouter un contrôle "Datagrid" sur Form1.

4) Coller le code suivant dans l'évènement Form1_Load :

//dimensionnement de la form
this.Width = 400;
this.Height = 400;

//positionnement et dimensionnement du contrôle "Datagrid"
dataGrid1.Location = new Point(20, 10);

dataGrid1.Width = 350;
dataGrid1.Height = 350;

//Utilisation d'un dataset pour lire le fichier xml
DataSet ds = new DataSet();
ds.ReadXml("C:\\books.xml");

//Utilisation du dataset comme source de données du contrôle
//"Datagrid"
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "book";

//Utilisation d'un objet "DataGridTableStyle" pour modifier
//l'aspect du contrôle "Datagrid"
DataGridTableStyle tabStyle = new DataGridTableStyle();
tabStyle.MappingName = ds.Tables[0].TableName;
tabStyle.BackColor = Color.LightPink;
tabStyle.AlternatingBackColor = Color.LightBlue;
tabStyle.PreferredRowHeight = 24;

dataGrid1.TableStyles.Add(tabStyle);

tabStyle.GridColumnStyles[0].Width = 150;
tabStyle.GridColumnStyles[1].Width = 150;

5) Lancer le projet : on constate que la largeur des colonnes est fixée
(à 150 pixels) et que la hauteur de la ligne est à 24 pixels

MOTS-CLES :

La liste de(s) mot(s) suivant(s) permet une recherche plus efficace de
cette fiche technique : datagrid largeur colonne
Propriétés

ID d'article : 19898 - Dernière mise à jour : 13 mai 2008 - Révision : 1

Commentaires