DataGrid vider, rafraichir...

Résolu
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008
- 13 févr. 2006 à 13:25
vouviane
Messages postés
3
Date d'inscription
vendredi 23 juillet 2010
Statut
Membre
Dernière intervention
25 juillet 2010
- 25 juil. 2010 à 01:51
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

cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
13 févr. 2006 à 16:10
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#
*/
3
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
14 févr. 2006 à 12:27
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#
*/
3
nightlord666
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
10
13 févr. 2006 à 13:49
this.mydatagrid.Invalidate() ?
0
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

13 févr. 2006 à 15:32
ca ne fonctionne pas.. jsuis a bout la,jen peux plus. si d'autres personnes ont des idées.. merci beaucoup..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
13 févr. 2006 à 15:45
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#
*/
0
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

13 févr. 2006 à 15:56
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..

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

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

13 févr. 2006 à 16:37
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..
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
13 févr. 2006 à 16:57
Réessaie un peu là pour voir stp

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

13 févr. 2006 à 17:06
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..
0
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

14 févr. 2006 à 10:49
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
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
14 févr. 2006 à 11:08
En réexecutant la requête pour récupérer les données à jour. :-)

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

14 févr. 2006 à 11:24
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
0
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

14 févr. 2006 à 11:26
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();
0
billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

14 févr. 2006 à 16:13
ca marche ! merci beaucoup le coq ! !! ;-)
0
vouviane
Messages postés
3
Date d'inscription
vendredi 23 juillet 2010
Statut
Membre
Dernière intervention
25 juillet 2010

25 juil. 2010 à 01:51
vouviane
ca marche pas!!!!!!!!!
0