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 :

Actualiser images datagridview


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut Actualiser images datagridview
    Je vous explique, j’insère dans mon application un form ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Preparation_Vins Preparation_Vins_Form = new Preparation_Vins();
    Preparation_Vins_Form.TopLevel = false;
    Preparation_Vins_Form.FormBorderStyle = FormBorderStyle.None;
    Preparation_Vins_Form.Parent = panelViewCopy;
    Preparation_Vins_Form.Dock = DockStyle.Fill;
    Preparation_Vins_Form.BringToFront();
    Preparation_Vins_Form.Show();
    if (Write == false)
    {
            Preparation_Vins_Form.Enabled = false;
    }
    panelViewCopy.Controls.Add(Preparation_Vins_Form);
    Cette form me permet de gérer une cave par l’intermédiaire d’évènement intégré dans le calendrier outlook ! Elle contient plusieurs datagridview affichant le sotck et les mouvements de stocks de la cave !

    Le soucis : j’affiche des images differentes pour les vins préparés et consommés dans les lignes des datagridviews.

    Le problème est le suivant, tant que je ne clique pas sur un élément de ma form (combobox ou texttbox…) les images restent par défaut et sont donc mauvaise. Si je clique sur un élément il prend le focus et les images changent et tout devient correcte !

    Le problème est que cela oblige l’utilisateur a cliquer sur un élément pour mettre a jour les images contenu dans les datagridview.
    J’ai bien essayé de mettre le focus sur un élément en c# mais rien y fait, il reste a false, auriez vous une idée ?

    Merci

  2. #2
    Membre habitué Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    Dans ta form, d'où appelles tu le code qui met à jour les images? Depuis un évènement? Constructeur?

    Peut-on avoir le code de ta form?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par bibbi Voir le message
    Bonjour,

    Dans ta form, d'où appelles tu le code qui met à jour les images? Depuis un évènement? Constructeur?

    Peut-on avoir le code de ta form?
    Bonjour,

    J'appelle le code qui met à jour mes images dans la form Preparation_Vins(Preparation_Vins_Form) qui contient également les datagriview.

    Pour être plus précis c'est dans la partie d’initilisation(public Preparation_Vins()) de cette dernière je remplis mes datagridviews avec les images par défaut(rond rouge). Ensuite toujours dans la partie d’initilisation j'exécute une fonction update qui parcourt toutes mes lignes de mes datagridviews et suivant les valeurs change l'image par un rond vert !
    C’est la que ça ne fonctionne pas !

    Par contre su je met cette update dans la fonction associé au clic d’une texbox par exmple ça fonctionne correctement !

    Voici le code de mon update :

    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
    private void UpdatedataGridViewCaveChateau()
            {
                int countRow = 0;
                foreach (DataGridViewRow row in this.dataGridViewCaveChateau.Rows)
                {
                    try
                    {
                        //si la valeur de la colunm préparé est vide cela signifie que les vin sont en préparation, on affiche le circle rouge
                        if (String.Compare(row.Cells[9].Value.ToString(), "-") == 0)
                        {
                            dataGridViewCaveChateau.Rows[countRow].Cells[0].Value = (Image)global::GestionEvt.Properties.Resources.redcircle;
                        }
                        //Sinon le vert pour dire qu'ils sont consommés
                        else
                        {
                            dataGridViewCaveChateau.Rows[countRow].Cells[0].Value = (Image)global::GestionEvt.Properties.Resources.greencircle;
     
                        }
                        countRow = countRow + 1;
     
                    }
                    catch (Exception ex)
                    { }
                }
            }

  4. #4
    Membre habitué Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par clave Voir le message
    Pour être plus précis c'est dans la partie d’initilisation(public Preparation_Vins()) de cette dernière je remplis mes datagridviews avec les images par défaut(rond rouge). Ensuite toujours dans la partie d’initilisation j'exécute une fonction update qui parcourt toutes mes lignes de mes datagridviews et suivant les valeurs change l'image par un rond vert !
    C’est la que ça ne fonctionne pas !
    C'est à dire? Çà plante à la compilation? Une exception est levée durant l'exécution? Le résultat attendu n'est pas le bon?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par bibbi Voir le message
    C'est à dire? Çà plante à la compilation? Une exception est levée durant l'exécution? Le résultat attendu n'est pas le bon?
    Justement tout se passe bien, ancune erreur... mais l'image correcte ne s'affiche pas a l'ouverture de la form !

    Je suis obliger de mettre mon update dans la fonction click d'un élément par exemple une textbox pour l'image correcte s'affiche !

    le soucis est que ça implique une action de la part de l'utilisateur pour actualiser la datagridview.

  6. #6
    Membre habitué Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Donc au départ tu appelais ta méthode update dans le constructeur?

    Ce serait possible d'avoir ton code qui ne marchait pas? Particulièrement le bloc qui appelle l'update.

Discussions similaires

  1. Attribuer Image DataGridView
    Par rocket69 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/06/2009, 14h36
  2. [GD] actualiser image puis la uploader
    Par debutanteVB.NET dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/01/2009, 16h18
  3. probleme actualisation image apres publipostage
    Par popofpopof dans le forum Word
    Réponses: 35
    Dernier message: 27/08/2008, 13h51
  4. Actualiser un DataGridView
    Par ced2975 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/05/2008, 15h53
  5. [VB-A] Actualiser image avec 1 mvt de souris
    Par alex_95 dans le forum VBA Access
    Réponses: 3
    Dernier message: 17/01/2007, 09h25

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