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

C# Discussion :

Empecher le tri automatique d'un DGV


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Empecher le tri automatique d'un DGV
    Ce problème est déja discuté dans un autre sujet, mais je reposte ici un sujet plus precis qui pose problème
    Je constate qui si on force le tri d'un DGV par programme, il ne semble plus avoir moyen de desactiver le tri automatique

    J'ai un DGV bindé sur une datatable
    A la base la datatable est triée sur une colonne

    Je fais un programme qui va renumeroter cette colonne par step de 5
    Ca marche
    MAIS si avant cette renumérotation je force le tri du DGV et que je le desactive immédiatement, le tri automatique devient actif et ma renumérotation explose


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         dgv_rit.Sort(dgv_rit.Columns["order1"], ListSortDirection.Ascending);
          dgv_rit.Columns["order1"].SortMode = DataGridViewColumnSortMode.NotSortable;
    Ma question : comment empecher le tri automatique d'un DGV

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Que veut-tu dire par "ma renumérotation explose" ?

    Je voudrais pas dire de bêtises, mais il me semble que lorsqu'un DGV est bindé sur un DT, si le DT est trié, ce tri est appliqué automatiquement au DGV (à vérifier). As-tu essayé de ne pas trier le DT ?

    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dgv_rit.Columns["order1"].SortMode = DataGridViewColumnSortMode.Programmatic;



    PS : petite astuce sympa : pour une colonne de DGV, j'ai pris l'habitude de donner l'index de colonne à partir du nom de variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dgv_rit.Columns[maColonne.Index]
    L'intérêt de mettre le nom de variable, c'est que si tu changes son nom, le refactoring de VS renommera automatiquement chaque occurence de la variable (et s'il ne le fait pas, tu auras une erreur à la compil).
    Si tu donnes le titre de la colonne, lorsque tu changeras ce titre, le compilateur ne te le dira pas et tu auras une erreur à l'exécution.

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Plus de détail
    Salut

    Voici plus de détail
    1- Oui bien sur un DGV affichera la table dans son tri original
    2- Si on empeche le tri du dgv et que l'on ne fait AUCUN tri dessus tout va bien
    3- La misere commence des que l'on trie une colonne, a partir de ce moment il n'est plus possible de desactiver le tri automatique

    C'est la que la renumerotation explose

    Imagine :
    J'ai 1,2,3,4,5,6,7
    Je prends 1 je donne valeur 5
    Je prends 2 je donne 10
    etc
    Si le DGV reste sage je vais avoir 5,10,15,20

    MAIS si le DGV se trie automatiquement, imagine ce qui se passe !!
    1 devient 5 et se place devant le 5 existant
    2 devient 10 et se place devant le 10 existant
    je finis par repasser sur 5 qui devient alors 25 je pense et boum !
    En tout cas ca devient n'importe quoi

    J'ai deja cherché et il semble que je ne suis pas le seul a pleurer pour essayer d'empecher qu'un DGV se trie autiomatiquement.

Discussions similaires

  1. tri automatique sur un datagridview
    Par hawax dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/06/2007, 21h36
  2. Tri automatique des mails
    Par trois_1 dans le forum Réseau
    Réponses: 7
    Dernier message: 03/08/2006, 21h53
  3. [org.xml.sax.ErrorHandler] Empecher les messages automatiques
    Par Emplyst dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 25/07/2006, 21h03
  4. empecher le tri dans un listbox dynamiquement
    Par firejocker dans le forum MFC
    Réponses: 2
    Dernier message: 01/12/2005, 17h32
  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