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 et acceptchanges met fait perdre les modifs d'apparence


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Datagridview et acceptchanges met fait perdre les modifs d'apparence
    Bonjour,
    J'ai crééer une datagridview lié à un datatable et j'ai besoin de modifier par exemple la couleur de certaines cellules selon les infos affiché.
    Le probleme est que des que je fait appel a la fonction AcceptChanges je perd toute les modifs tel que couleur ou blocage de zone.
    Est ce que ceci est normal et y a t il un moyen de contourner ce problème ?
    merci d'avance
    Thomas

  2. #2
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 777
    Points
    1 777
    Par défaut
    Bonjour.

    Acceptchanges c'est sur la datatable source que tu dois faire ça ... aucun rapport immédiat donc avec le options d'affichage du datagridview.

    Balance le code pour voir car là sinon je doute qu'on puisse t'aider...

    Cdt.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    salut,
    c'est ce que j'ai fait , j'utilise un dataset typé , voici le code que j'utilise:

    Dim lo_adapt As New DBMatricePlantsDataSetTableAdapters.VIEW_ART_BDCTableAdapter

    MesPlants = lo_adapt.GetData(as_bdccod)

    Me.dgv_matrice.AutoGenerateColumns = False

    'Chargement des données
    Me.dgv_matrice.DataSource = MesPlants

    Me.dgv_matrice.Rows(1).Cells(0).Style.BackColor = Color.Yellow

    MesPlants.AcceptChanges() -> enleve la couleur jaune

    par contre si je fais MesPlants.Rows(1).AcceptChanges()
    ca ne m'enleve pas la couleur ??

    dans les cas merci d'avance

  4. #4
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 777
    Points
    1 777
    Par défaut
    Bonjour.

    Ca a pas l'air déconnant ton truc... comment positionnes-tu la couleur de la celllule (sur quel évènement) suivant la valeur ?
    Le acceptchange déclenche peut être un refresh du datagridview sans que ton code qui positionne la couleur soit rappelé.

    Cdt.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    je change la couleur apres le chargement de la datagrid en passant sur le lignes qui doivent changer de couleur, d'ailleurs n'existe il pas un évènement de chargement de ligne sur la datagrid un peu comme la grid web ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    L'appel à la méthode AcceptChanges sur la DataTable appelle également "OnListChanged" ce qui demande à la dataGridView de "recharger" les lignes --> plus de couleur car c'est équivalent à un myGrid.DataSource = myDataTable.

    Perso, je m'abonerais a l'event ListChanged du CurrencyManager (obtenu avec BindingContext[myGrid.DataSource] par exemple)

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    merci pour l'info par contre est ce que tu aurais un exemple , cela fait seulement une semaine que je me suis lancer dans le dev winform en .net (je faisais essentiellement du web avant)
    merci d'avance
    en attendant je vais me renseigner

  8. #8
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 777
    Points
    1 777
    Par défaut
    Bonjour.

    Personnellement, je passe par le CellFormatting pour faire ça.

    Cdt.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    un grand merci pour le cellformating , c'est l'évènement qui me faut !!!!!

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

Discussions similaires

  1. VB.Net - Comment détecter les modifications dans un Datagridview
    Par novice123 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 19/12/2008, 16h57
  2. une modification du style fait perdre tous le reste du style, pourquoi ?
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2007, 10h09
  3. Réponses: 7
    Dernier message: 12/09/2006, 16h22
  4. [Tableaux] Suivre les modifications faits par chaque utilisateur
    Par dessinateurttuyen dans le forum Langage
    Réponses: 7
    Dernier message: 19/07/2006, 10h05
  5. Réponses: 8
    Dernier message: 12/07/2006, 10h32

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