Question

J'utilise un contrôle DataGridView dans une application VB.Net où les colonnes sont ajoutées dynamiquement à un DataTable qui est créé dans le code. Je dois à l'ordre par ordre alphabétique certaines des colonnes.

par exemple.

Nom, Prénom, Maison Nombre, B, D, A, C

J'ai besoin que ...

Nom, Prénom, Maison Nombre, A, B, C, D

les colonnes sont comme elles sont nécessaires, donc je ne peux pas les commander avant.

Était-ce utile?

La solution

Il est pas VB.NET, mais cette question en C # devrait avoir la réponse dont vous avez besoin: Comment puis-je trier les en-têtes de colonne dans une grille de données par ordre alphabétique

DisplayIndex est la clé.

Si vous ne voulez pas faire Linq, alors vous pouvez mettre en œuvre le code pour effectuer les opérations suivantes:

  1. Créer une liste temporaire pour stocker les colonnes
  2. Conservez une copie temporaire de votre DataGridView
  3. Supprimer toutes les colonnes de DataGridView
  4. Trier vos colonnes manuellement, en ignorant les quelques premiers que vous ne voulez pas trier
  5. Ajouter colonnes retour à DataGridView dans le bon ordre à l'aide DisplayIndex.

Il y a aussi une question ici de discuter comment ordre ou de l'indice

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