Bonjour,
j'ai commencé à me faire un petit datagridview customisé.
J'ai fait quelques petites choses sur le OnCellPainting, ça, ça marche.
Mais je voulais me faire une méthode pour faire disparaitre le glyph du sort qui apparait à chaque clic d'en tete de colonne (j'ai pas trouvé un moyen pour l'erradiquer définitivement à la création du datagridview).
Alors je procedais a peu pres comme ça :
Et ça , ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void liste_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {for (int j = 0; j < liste.Columns.Counth; j++) { liste.Columns[j].HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.None; } }
Mais je voudrais donc alors plutot quelque chose du style :
Ci dessus ce serait une méthode de la classe MonDataGridView
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 public void ColonnesSortMode(string direction,int debut,int fin) { for (int j = debut; j < fin; debut++) { switch (direction) { case "NONE": liste_dtgv.Columns[j].HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.None; break; case "ASC": liste_dtgv.Columns[j].HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.Ascending; break; case "DESC": liste_dtgv.Columns[j].HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.Descending; break; } } }
et faire :
Dans le but de pouvoir me resservir de mon pti datagridview dans un autre projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private void liste_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) liste.ColonnesSortMode("NONE", 0, liste.Columns.Count); }
Mais le soucis c'est que j'ai un message d'erreur d'index hors limite dans le for de ma méthode perso.
Je ne sais pas trop comment faire donc pour manipuler les colonnes de mon datagridview (liste) dérivé de ma classe par le datagridview pere (liste_dtgv)...
Je ne sais pas si je suis tres clair...
Partager