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 :

Problème d'activation du tri sur un datagridView


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut Problème d'activation du tri sur un datagridView
    Bonjour,

    J'essaye d'activer le tri des colonnes de mon datagridView avec la propriété sortmode de mes colonnes sans résultat :
    Lors de l'execution de mon code je n'ai pas de glide (fleche de tri ) malgrès l'utilisation du mode de tri automatique.

    J'ai certainement dût oublié quelque chose :

    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
     
     
                // on vide les colonnes
                this.userDataGridView.Columns.Clear();
     
                // on désactive la génération automatique des colonnes
                this.userDataGridView.AutoGenerateColumns = false; 
               // on créé une colonne lastName
                DataGridViewTextBoxColumn lastName = new DataGridViewTextBoxColumn();
                lastName.HeaderText = labelDictionary["lastNameColumn"].ToString();
                lastName.DataPropertyName = "LastName";
                lastName.Name = "LastNameColumn";
                lastName.SortMode = DataGridViewColumnSortMode.Automatic;
               this.userDataGridView.Columns.Add(lastName);
     
                // on créé une colonne firstName
                DataGridViewTextBoxColumn firstName = new DataGridViewTextBoxColumn();
                firstName.HeaderText = labelDictionary["firstNameColumn"].ToString();
                firstName.DataPropertyName = "FirstName";
                firstName.Name = "FirstNameColumn";
                firstName.SortMode = DataGridViewColumnSortMode.Automatic;
                this.userDataGridView.Columns.Add(firstName);
     
                // on ajoute les datas qui seront filtrés par les colonnes définies ci-dessus
                this.userDataGridView.DataSource = this._presenter.getUsers();
    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Le problème semble en faite venir du fait que j'utilise un DataSource.

    Si je remplace cette instruction par un row.add() pour chacune de mes rows cela fonctionne.

    Dans ce cas comment peut on trier sur un datasource qui est une list et pour ma culture personnel pkoi cela ne marche pas sur un datasource ?

    Merci

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,
    Le problème semble en faite venir du fait que j'utilise un DataSource.
    Quand j'utilise un datasource, le DataGridViewColumnSortMode.Automatic fonctionne.

    Pour info, la flêche n'apparait en bout de clolonne que lorsqu'on a cliqué, pour marquer l'ordre de tri ascendant ou descendant.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre actif Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Points : 247
    Points
    247
    Par défaut
    Idem chez moi lorsque j'utilise un Datagridview avec un datasource le tri est automatique
    La connaissance n'est rien si elle n'est pas partagé

    Citation de Confucius :
    Ceux dont la connaissance est innée sont des hommes tout à fait supérieurs. Puis viennent ceux qui acquièrent cette connaissance par l'étude. Enfin, ceux qui, même dans la détresse, n'étudient pas : c'est le peuple.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 109
    Points : 120
    Points
    120
    Par défaut
    Quel est le type de l'objet que tu affectes en datasource ?

    Pour que tu puisses trier le datagridview, il faut que la collection renvoyée par la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this._presenter.getUsers();
    implémente l'interface IBindingList.

    Tu trouveras un exemple à l'adresse suivante :
    http://msdn.microsoft.com/library/de...ms02182005.asp

Discussions similaires

  1. [Débutant] Event RowEnter activé 2 fois sur un DataGridView
    Par noftal dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/09/2013, 10h01
  2. Lancer une procedure après un tri sur ne datagridview
    Par Au2laDeNosReves dans le forum VB.NET
    Réponses: 8
    Dernier message: 07/10/2009, 15h31
  3. [C# 2.0] Glyphe de tri sur un DataGridView
    Par StormimOn dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/09/2007, 12h25
  4. Enlever le tri sur une DataGridView
    Par Contrec dans le forum C#
    Réponses: 13
    Dernier message: 09/07/2007, 09h04
  5. Problème droit dans active directory et sur pc local
    Par krfa1 dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/01/2006, 14h49

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