DataGrid vider, rafraichir... [Résolu]

Signaler
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
3
Date d'inscription
vendredi 23 juillet 2010
Statut
Membre
Dernière intervention
25 juillet 2010
-
salut a tous, voila je vous explique le probleme, j'ai une source de données, que je mets dans un data grid, mais le probleme cest que lorsque je modifie ma base de données, ca ne modifie pas le datagrid.. j'ai créé un bouton "rafraichir" mais je ne sais pas quoi mettre comme code dedans, je pense qu'il faudrai que je vide le datagrid, puis le re-remplir par la suite, mais je narrive pas a le vider, j'ai tout esssayé la (a par de jeter l'ordi a la poubelle ou de me suicider..)..si quelquun pouvais maider svp , car la je crackkeee !!!
merci beaucoup.

16 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Le DataGrid n'agit pas directement avec la base mais avec la copie locale des données qu'on lui a affecter en tant que source. (DataSet, DataTable, etc)

monDataGrid.DataSource = null;

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Comment ça pas de requête ?
Sinon l'utilisation de '*' ce n'est pas génial, précise plutôt explicitement les colonnes.
Et ExecuteNonQuery sur une requête SELECT ça ne va pas vraiment.
Voir la doc de OleDbCommand, un tableau y décrit les méthodes Execute*
Et OleDbDataAdapter devrait aussi t'intéresser.

/*
coq
MVP Visual C#
*/
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
this.mydatagrid.Invalidate() ?
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

ca ne fonctionne pas.. jsuis a bout la,jen peux plus. si d'autres personnes ont des idées.. merci beaucoup..
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

Invalidate provoque le redessin du contrôle.
Si tes données ont changer en base, il faut juste que tu réexecutes la commande de récupération des données qui t'as permis de remplir ton DataGrid.

/*
coq
MVP Visual C#
*/
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

ce que y'a c'est que je charge les données de ma base, mais quand il n'y a pas d'occurences dans ma base, ca me laisse ce que javais chargé auparavant et ca me rajoute rien, mais moi j'aimerais que ca m'efface tout ce que j'ai dans le datagrid.
lorsque je charge ma Form4, en meme temps je vide ma base, donc ca ne devrai rien mafficher dans mon datagrid a chaque fois.


private
void Form4_Load(
object sender,
EventArgs e)


{



// charge les données dans la table 'adresse_detail'



this.adresse_detailTableAdapter.Fill(
this.bd1DataSet3.adresse_detail);


}



private
void button1_Click(
object sender,
EventArgs e)


{
//la je sais pas quoi mettre..

}
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

aaaaaa merciiiiii !!!!!! ca marche :-) , jsuis trop content, t'es trop fort le coq, merci beaucoup, vraiment !!! merci
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

par contre jarrive pas a accepter ta bonne réponse, ca m'affiche le popup de confirmation mais quand je clique sur "ok" rien ne se passe..
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Réessaie un peu là pour voir stp

/*
coq
MVP Visual C#
*/
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

toujours rien, j'ai essayé sur un autre message de ce topic mais ca marche pas...
ca ne me demarre meme pas une page quoi.. je sais pas si ca viens de moi.. jessaierai de chez moi ce soir pour voir..
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

heu re bonjour, cest encore moi, j'ai encore un probleme lié a ma datagrid, je le met dans ce topic car cest la suite.. en fait, j'arrive donc a effacer mon datagrid, mais il ne se met pas a jours, lorsque j'insere des données, ca m'insere les données présentes dans la tables lors de la création de la connection avec la base de données. lorsque j'efface les données de ma tables, ca me mets toujours les meme données dans mon datagrid, j'aimerais savoir comment la "mettre a jour" svp..merci
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
En réexecutant la requête pour récupérer les données à jour. :-)

/*
coq
MVP Visual C#
*/
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

je n'ai pas de requete, je l'ai fait avec visual C# express , la requete, je fais ca ?


OleDbConnection myConnection =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\base_routeurs\\bd1.mdb");



string mySelectQuery =
"Select * FROM adresse_maitre";



OleDbCommand myCommand =
new
OleDbCommand(myDeleteQuery, myConnection);


myCommand.Connection.Open();


myCommand.ExecuteNonQuery();


myConnection.Close();

et ensuite je fait comment pour insérer
"mySelectQuery" dans le datagrid?

merci
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

jme suis trompé dsl , voila :


OleDbConnection myConnection =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\base_routeurs\\bd1.mdb");



string mySelectQuery =
"Select * FROM adresse_maitre";



OleDbCommand myCommand =
new
OleDbCommand(mySelectQuery, myConnection);


myCommand.Connection.Open();


myCommand.ExecuteNonQuery();


myConnection.Close();
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

ca marche ! merci beaucoup le coq ! !! ;-)
Messages postés
3
Date d'inscription
vendredi 23 juillet 2010
Statut
Membre
Dernière intervention
25 juillet 2010

vouviane
ca marche pas!!!!!!!!!