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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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
Rejoignez-nous