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 :

Ordre et séléction des colonnes dans une DataGridView avec BindingList


Sujet :

C#

  1. #1
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut Ordre et séléction des colonnes dans une DataGridView avec BindingList
    Voila, j'ai presque réussi à tout faire passer dans le titre.

    je viens de bien modifier une classe en mettant plein de jolies properties pour pouvoir avoir une BindingLit<maClasse> que je puisse "donenr" à ma datagridview et j'en arrive à deux problemes que j'ai pu lire plusieurs fois sur le net sans pour autant trouver de solution concluante.

    - l'ordre des colonnes n'est pas celui que je veux, mais ne sais pas vraimetn comment faire (j'ai fais une tentative infructueuse avec displayIndex)

    - j'aimerais que certaines colonnes ne soient pas affichées

    dans l'espoir que quelqu'un ait une solution (ca doit exister non? )

    bonne fin d'aprem!

  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
    cf ce thread :
    http://www.developpez.net/forums/sho...d.php?t=556811

    Tu peux passer par le designer, en spécifiant le type de ton objet comme source de ta DGV. Sinon, tu ajoutes à la mimine chaque colonne dans l'ordre que tu veux.
    ಠ_ಠ

  3. #3
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Sinon, tu ajoutes à la mimine chaque colonne dans l'ordre que tu veux.
    Je prefere

    mais j'en arrive a un autre probleme, apres avoir fais un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    this.DataSource = this.source;
                    this.source.DataSource = data;
    (navré les noms de variables sont pas hyper bien choisis )
    je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Columns["transDate"].DisplayIndex = 0;
    qui me ressort une NullReferenceException.

    La cause: pour mon objet, ColumnCount = 0, ce qui ne l'empeche pas de m'imprimer une quarantaine de colonnes...

    ca a un sens?

    [Edit] A force de Console.WriteLine, je me rends compte je je le faisais peut etre un peu tot (j'ai trouvé un endroit ou il est "conscient" de contenir 39 colonnes ) merci pour l'aide, j'y retourne!

  4. #4
    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 TheCaribouX Voir le message
    [Edit] A force de Console.WriteLine, je me rends compte je je le faisais peut etre un peu tot (j'ai trouvé un endroit ou il est "conscient" de contenir 39 colonnes ) merci pour l'aide, j'y retourne!
    et le debugger ? Il est fait pour ça, utilise-le C'est super facile de voir ce qui balance des exceptions quand tu es en mode pas à pas.
    ಠ_ಠ

  5. #5
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    Oui oui je l'utilise aussi

    je me permets une derniere question qui reste dans le meme sujet (d'ou le meme post..)

    J'ai vu que les cells ont un champ "Value", mais aussi un "FormattedValue" en read-only. Ca serait tres pratique pour moi d'avoir une valeur affichée différente de la valeur réelle (sans que celle ci soit perdue), y'a t-il un moyen de modifier cette formattedvalue? (la seule solution trouvée sur msdn est apparemment d'utiliser l'événement CellFormatting, et dans l'exemple ils modifient la value directement - je me suis donc demandé si ca modifiait pas la formatted value en background mais j'en sais rien.

    y'aurait-il une solution?

    [Ëdit] J'ai fait du question-réponse... effectivement quand on fait e.value dans CellFormatting, la "vraie value" est conservée et on affiche ce que l'on veut j'arrete de vous embeter


  6. #6
    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
    Quelques précisions : quand tu as une colonne bindée sur une propriété de type "int" par exemple, la Value de la cellule est un int (récupérée à chaque fois que dans la DataSource), et la FormattedValue est une string, formatée selon le style de la colonne.

    L'événement CellFormatting permet de surcharger le comportement standard (qui consiste grosso modo à faire formattedValue = Value.ToString(format) pour des colonnes de type TextBox).

    Donc : bien faire la distinction entre la Value, qui est la valeur "métier", et la "FormattedValue", qui est sa représentation visuelle.
    ಠ_ಠ

  7. #7
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    oui c'est exactement mon but... ca tombe bien qu'ils y aient pensé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ordre des colonnes dans une datagridview
    Par padawanette dans le forum ASP.NET
    Réponses: 1
    Dernier message: 07/04/2009, 22h13
  2. [Reporting] ordre des colonnes dans une sortie de proc freq
    Par PhYx dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 22/07/2008, 18h04
  3. Ordre des colonnes dans une table
    Par c.langlet dans le forum Administration
    Réponses: 3
    Dernier message: 16/05/2007, 18h39
  4. Regrouper des colonnes dans une ligne
    Par aturlan dans le forum Access
    Réponses: 1
    Dernier message: 11/01/2006, 21h05
  5. Réponses: 1
    Dernier message: 22/12/2005, 09h03

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