IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

DataGridView & Tri automatique


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 140
    Points : 53
    Points
    53
    Par défaut DataGridView & Tri automatique
    Bonjour,

    J'ai une DataGtridView qui effectue un tri quand je clique sur les en-têtes de colonnes. Sauf que ce tri est alphabétique et ne convient pas pour une colonne de type Date (par exemple). Le problème est que je n'arrive pas à dire à cette grille de ne pas trier automatiquement...

    Merci d'avance
    Ben

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    La grille ne trie pas par ordre alphabétique. Elle prend le comparateur par défaut du type de la propriété associée à une colonne. Donc si ta colonne contient des objets de type DateTime, le tri se fera par ordre chronologique.

    Comment remplis tu ta grille ? Avec des DataSet / DateTable ? Est-ce une collection d'objets à toi ? Ou fais-tu directement maGrille.Rows.Add(...) ?
    ಠ_ಠ

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 140
    Points : 53
    Points
    53
    Par défaut
    Je remplis le DataGridView avec un DataTable

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Essaie de définir les caracteristiques de ta colonne à NotSortable

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.dataGridView.Columns[index_de_ta_colonne].SortMode = DataGridViewColumnSortMode.NotSortable;

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par ben_popcorn Voir le message
    Je remplis le DataGridView avec un DataTable
    Alors il faut que tu spécifies que le type de cette colonne de ta DataTable est "DateTime" et non pas "string".
    ಠ_ಠ

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 140
    Points : 53
    Points
    53
    Par défaut
    Bon...je vais développer un peu mon problème.
    Je doit gérer un ensemble de données sous forme de DataTable.
    Ces données (numériques, prix, dates, flottant )sont des codes.
    Ces codes je les retrancris en libellés en clair dans un autre DataTable.
    Je dois donc afficher les libellés sur la grille mais gérer en parallèle les codes de mon DataTable précédent (J'ai à tout moment besoin de connaître le code correspondant à un libellé donné).
    Là où ça devient sympa c'est pour les différents tris qui interviennent sur la grille, il faut reporter chaque modif d'ordre des 2 côtés.

    Donc là j'avais un DataTable "fortement typé" avec des colonnes String, DateTime et Int32 pour les codes et uniquement String pour les libellés.
    Je vais donc devoir affiner un peu plus les libellés en spécifiant, au moins pour les dates, un champ DateTime. Ok c'est noté.

    Si vous avez des idées aussi pour gérer ce genre de procédé (parallèle codes<-<libellés) j'étudierais toutes propositions avec attention ;-)

    To Be continued
    Ben

Discussions similaires

  1. Interdire le Tri automatique
    Par Ry_Yo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/07/2007, 11h03
  2. Extraire les résultats d'un tri automatique
    Par billou06 dans le forum Excel
    Réponses: 5
    Dernier message: 28/06/2007, 02h49
  3. tri automatique sur un datagridview
    Par hawax dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/06/2007, 21h36
  4. Tri automatique des mails
    Par trois_1 dans le forum Réseau
    Réponses: 7
    Dernier message: 03/08/2006, 21h53
  5. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo