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
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
sur ta grid, tu as une propriété AutoSizeColumnsMode (pas testé)
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
Exact.Ca ne marche pas
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; }
mais ca me parait bien compliquer.
est ce pas possible de tailler les colonnes en fonction du contenu?
Normal que ca ne marche pas :p il faut l'appliquer à toute les colonnes.
Sur une column
sur toute les colomns
Code : Sélectionner tout - Visualiser dans une fenêtre à part dataGridView1.Columns["ColumnName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
a+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 foreach (DataGridViewColumn column in dataGridView1.Columns) { column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; }
Partager