begin process at 2013 06 19 09:20:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

DataGridView probleme de refresh


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DataGridView probleme de refresh

samedi 15 septembre 2012 à 13:12:15 | DataGridView probleme de refresh

bouzazi


Salut tout le monde;

Dans mon projet actuelle j'ai un problème avec une DataGridView;
J'ai une form principal avec des tabs, et une autre forme qui s'affiche dans la form principal avec une DataGridView . cette DataGridView affiche les donne d'une table de la base de donnée. jusque la ça fonctionne bien, mais on viens d'ajouté un champs dans la table en question pour dire si les enregistrement sont valide ou pas. avec ce changement dans la base j'ai crée une nouvelle tab dans la form principal pour scindé l'affichage dans deux endroit l'un pour les données valide et l'autre pour les données non valide.
donc logiquement j'ai pensé a utilisé la même forme (celle avec la DataGridView ) pour les deux affichage mais avec un mécanisme d'appel diffèrent.
lorsque je clic sur la première tab tout fonctionne normalement et la liste de enregistrement valide (ou invalide selon le cas) sont affiché correctement mais lorsque je clic après sur la deuxième tab la DataGridView m'affiche les même donnée que la première alors-que je viens de mètre sa DataSource a null puis je lui affecte la liste des enregistrement invalide ( ou valide) qui sont diffèrent de ce qui sont affiché a la DataSource de la DataGridView . j'ai utilise les instructions Refresh() et Parent.Refresh() de la DataGridView mais rien a faire.
c'est comme si la datagridview garde toujours a l'affichage la liste des enregistrement avec lesquels elle s'exécute la première fois. même si ça DataSource est mise a null puis réaffecté.
je vérifie juste pares l'affectation de ma deuxième liste d'enregistrement et la DataSource de la datagridview contient bel et bien les enregistrements de cette dernière. mais l'affichage et erronée.

SVP est ce que quelqu'un a une idée sur la manière de résoudre ce problème.

Merci d'avance.


samedi 15 septembre 2012 à 23:27:00 | Re : DataGridView probleme de refresh

whismeril

Pas facile de t'aider sans le ou les bouts de code que tu décris de façon "théorique"


Whismeril
lundi 17 septembre 2012 à 16:00:10 | Re : DataGridView probleme de refresh

bouzazi

salut tout le monde et désole pour l'absence de code avec ma requête.

donc voici la méthode d'appel de la fenêtre qui contient la DataGridView pour les données valide :
Code C# :
 private void Form1_Load(object sender, EventArgs e)
        {

            switch (this.ribbonControl1.SelectedRibbonTabItem.Text)
            {
                    ....
                case "CasC":

                    ListeCas = new ListeCasC(this, false);
                    ListeCas.MdiParent = this;                    
                    ListeCas.ListeCasC_Load(sender, e);
                    ListeCas.Show();

                    break;

               default:
                    break;
            }  
        }     


et aussi cette méthode est utilisé pour lancé cette même fenêtre pour les données valide :
Code C# :
private void CasCribTab_Click(object sender, EventArgs e)
        {
            ListeCas = new ListeCasC(this, false);           
            ListeCas.ListeCasC_Load(sender, e);
        }


et voici la méthode d'appel a la la même fenêtre pour l'affichage de la liste des données non valide :
Code C# :
private void CasCbuttonX_Click(object sender, EventArgs e)
        {
            ListeCas = new ListeCasC(this, true);            
            ListeCas.ListeC_Load(sender, e);
            CasCbuttonX.Enabled = false;
            ImagesbuttonX.Enabled = true;
            SimbuttonX.Enabled = true;
        }


voici le code de la méthode ListeCasC_Load pour le chargement de la DataGridView; les données valide (Corbeille = false et non valide Corbeille = true):
Code C# :
public void ListeCasC_Load(object sender, EventArgs e)
        {
            if (!Corbeille)
            {
                dgv_CasC.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                if (ModeAffchSimple == true)
                {                    
                    dgv_CasC.AutoGenerateColumns = false;
                    CasCImg CasC = new CasCImg();
                    List<CasCImg> listeCasC = CasC.getAllCasCImages();
                    try
                    {
                        dgv_CasC.DataSource = listeCasC;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {                    
                    dgv_CasC.AutoGenerateColumns = false;
                    CasCImg CasC = new CasCImg();
                    List<CasCImg> listeCasC = CasC.getAllCasCImages(Ann1, Ann2, Ang1, Ang2);
                    dgv_CasC.DataSource = listeCasC;
                    dgv_CasC.Columns[16].Visible = true;
                }
            }
            else
            {
                //dgv_CasC.Parent = null;
                //Controls.Add(dgv_CasC);
                //ResumeLayout();
                dgv_CasC.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                dgv_CasC.AutoGenerateColumns = false;

                //dgv_CasC.Rows.Clear();
                //dgv_CasC.UpdateRow(0, true);
                dgv_CasC.DataSource = null;
                dgv_CasC.DataSource = listcCorbeille;
                //dgv_CasC.Invalidate();
                //(dgv_CasC.BindingContext[dgv_CasC.DataSource] as CurrencyManager).Refresh();
                dgv_CasC.Refresh();
                if (parent != null)
                {
                    dgv_CasC.Parent.Refresh();
                }
            }

            
        }



Est ce que quelqu'un peut me dire s'il vous plait pourquoi j'ai ce probleme d'affichage de la liste de données dans la DataGridView.

Merci de votre aide.
lundi 17 septembre 2012 à 18:30:27 | Re : DataGridView probleme de refresh

whismeril

Bonsoir

Tout d'abord mon message n'a pas résolu ton problème donc, il ne doit pas être vert.
Sinon le sujet apparait résolu et personne n'y regardera plus.


Ensuite
Code C# :
dgv_CasC.AutoGenerateColumns = false;//je ne suis pas sur mais mettre AutoGenerateColumns à false avant d'affecter le datasource ne me parrait pas judicieux.
                    CasCImg CasC = new CasCImg();
                    List<CasCImg> listeCasC = CasC.getAllCasCImages();
                    try
                    {
                        dgv_CasC.DataSource = listeCasC;




Je te propose ceci, tu charges toutes tes données dans listeCasC, puis tu crees 2 listes une valide et une invalide (en supposant que le champ de validation s'appelle validation:
Code C# :
List<CasCImg> casCValides = listeCasC.FindAll(delegate (CasC titi) {return titi.validation == true;});
List<CasCImg> casCInValides = listeCasC.FindAll(delegate (CasC titi) {return titi.validation != true;});


Tu affectes ensuite la liste que tu veux.

Pour le binding, j'ai eu des soucis en attaquant directement les contrôles, maintenant je passe par un databindingsource
Whismeril
mardi 18 septembre 2012 à 11:07:09 | Re : DataGridView probleme de refresh

bouzazi

Salut
j'ai essayé de suivre la proposition de whismeril( merci beaucoup) mais cette solution me donne le même comportement. j'ai toujours le problème d'affichage de mes données dans la DataGridView.

mardi 18 septembre 2012 à 11:40:42 | Re : DataGridView probleme de refresh

bouzazi

Salut ;
l'affichage de la datagridview ne change pas même après que le contenue de sa datasource est changé. c'est pour cella que même lorsque j'ai applique la proposition de whismeril la datasource change de contenue mais l'affichage n'est pas actualisé.
comment faire pour que l'affichage de la DataGridView soit réactualisé après le changement du contenue de sa DataSource??? je crois que c'est ça le vrai problème.
mercredi 19 septembre 2012 à 07:06:27 | Re : DataGridView probleme de refresh

whismeril

As tu essayé avec le databindingsource? car dans ce cas il ne faut plus utiliser le datasource du datagridview.

Tu n'as toujours pas sorti la réponse acceptée sur mon message qui ne le mérite pas.


Whismeril


Cette discussion est classée dans : enregistrement, refresh, affichage, datagridview, valide


Répondre à ce message

Sujets en rapport avec ce message

Problème d'affichage avec datagridview toujours pas réglé!!!! [ par patou1007 ] Bonjour,Je suis bloqué depuis un certain temps avec ce faux problème.J'ai envie d'afficher les données d'une base MySQL dans un datagridview.Pour l'in Fonctionnalité ILookupForm(ILookupForm , Affichage) [ par drcmomo ] Bonjour !!!!!J'ai un formulaire qui contient un  ILookupForm , Qui permet de lire un enregistrement dans une table(Client). Cette derniére contient de DataGridView et Linq [WinForms]: Probleme de refresh [ par testpresta ] Bonjour à toutes et à tous !Je viens de faire une application winforms toute simple en c#:- J'ai créé une base de données sql server (fichier mdf)- J' Actualisation des données dans une Form et datagridview? [ par nabilG ] Salut, j'ai un petit soucis en C# sous VS2008. J'ai créé une Form avec datagridview avec VS2008 et j'ai configuré une connection, je lui ai demandé affichage des données dans un datagridview !! [ par khedidija ] bonjour; SVP j'ai pour mission dans mon stage d'évaluation la réalisation d'une application qui permet l'affichage des données d'une base de données mise a jour et affichage d'une table Oracle10g dans un datagridview [ par archaj ] Bonjour, je travail sur un projet de fin d'études,sur la création des tables oracles avec l'outils visaul studio en c#. je dispose d'un combobox qui c Datagridview refresh [ par caela ] Salut à tous! je travaille en winforms en c# j'arrive pas à actualiser mon datagridview, il faut fermer l'application puis le relancer pour que les do Affichage de données dans un DataGridView [ par Poupounoux ] Bonjour,Développeur débutant, je cherche des solutions (au moins des pistes) pour afficher le résultat d'une requête multi-tables (avec deux clauses w stokage et affichage dans datagridview [ par patou1007 ] Bonjour,Je viens de crée une base de données MySQL avec pour l'instant 3 tables.Je voudrais par exemple afficher les données de la 1ère table qui cont afficher l'enregistrement d'un textbox dans un datagridview [ par zoplaka ] bonjour à tous et mes voeux les meilleurs pour cette nouvelles d'années.je suis debutant et mon probleme est que je ne sais pas comment écrire mon cod


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales