Bonjour,

J'ai un soucis lors de l'affichage d'une DataGridView et plus particulièrement sur l'affichage des colonnes.
Cette DataGridView est remplie à partir d'un DataSet et lorsque j'essaie de changer l'ordre des colonnes, cela ne fonctionne pas, ou alors l'ordre des colonnes n'est pas respecté.
Voici mon code :

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
        private void InitialiseLogsListe()
        {
            // On lie la grille au données
            this.LogsListBindingSource.DataSource = this.LogHandler.getLogsByType(this.cbx_LogType.SelectedValue.ToString(), StaticUtils.DebugMode);
            this.ActualLogFilter = this.cbx_LogType.SelectedValue.ToString();
            this.dgv_Logs.DataSource = this.LogsListBindingSource;
 
            // On reformatte l'affichage de la grille
            this.dgv_Logs.RowHeadersVisible = false;
            this.dgv_Logs.AllowUserToAddRows = false;
            this.dgv_Logs.AllowUserToDeleteRows = false;
            this.dgv_Logs.AllowUserToOrderColumns = true;
            this.dgv_Logs.AllowUserToResizeColumns = true;
            this.dgv_Logs.AllowUserToResizeRows = false;
            this.dgv_Logs.ReadOnly = true;
            this.dgv_Logs.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
            this.dgv_Logs.Columns["id_log"].Visible = false;
            this.dgv_Logs.Columns["id_log"].DisplayIndex = 0;
 
            this.dgv_Logs.Columns["derniere_session"].Visible = false;
            this.dgv_Logs.Columns["derniere_session"].DisplayIndex = 1;
 
            this.dgv_Logs.Columns["cree_le"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            this.dgv_Logs.Columns["cree_le"].DisplayIndex = 2;
            this.dgv_Logs.Columns["cree_le"].HeaderText = "Date création";
 
            this.dgv_Logs.Columns["type_log"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            this.dgv_Logs.Columns["type_log"].DisplayIndex = 3;
            this.dgv_Logs.Columns["type_log"].HeaderText = "Type";
 
            this.dgv_Logs.Columns["texte"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            this.dgv_Logs.Columns["texte"].DisplayIndex = 4;
            this.dgv_Logs.Columns["texte"].HeaderText = "Message";
 
            this.dgv_Logs.CellBorderStyle = DataGridViewCellBorderStyle.None;
        }
Du coup je n'arrive pas à avoir l'ordre convenu dans le code. J'ai aussi parfois selon l'ordre des DisplayIndex des colonnes censées être cachées (Visible = false) qui réapparaissent !

Donc je dois louper quelque chose au niveau des l'enchaînement des actions mais je ne sais pas quoi...

Si quelqu'un a une idée, je suis preneur

Merci d'avance,
Contrec