Question

La création d'un objet métier personnalisé à glisser dans un dataGridView fonctionne à merveille ... sauf que je ne vois pas de moyen par programme de définir l'ordre des colonnes.

Dois-je les ajouter manuellement, un à un, à la main, simplement pour obtenir un meilleur tri ou puis-je utiliser un attribut caché crypté?

Était-ce utile?

La solution

Chaque propriété dataGridViewColumn en tant que propriété DisplayIndex pouvant être appliquée à tout moment et fonctionnant même avec AutoGenerateColumns défini sur true.

dataGridView1.Columns["colName"].DisplayIndex = 0;
dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;

Autres conseils

Je suppose que AutoGenerateColumns est actuellement défini sur true . Le seul moyen que je connaisse pour contrôler l'ordre des colonnes est de définir AutoGenerateColumns sur false et, comme vous l'avez dit, d'ajouter les colonnes manuellement.

EDIT:

Je viens juste de regarder dans le vague souvenir d'une autre façon de faire cela et je pense que vous voudrez peut-être examiner la propriété ColumnsGenerator du contrôle GridView qui prend un IAutoFieldGenerator objet. Cette interface a une méthode appelée GenerateFields 'qui prend un Control (la grille ) et retourne un ICollection `(de Fields).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top