Vider un datagrid

Résolu
bloodymaury Messages postés 4 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 27 juillet 2005 - 25 juil. 2005 à 11:16
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010 - 26 juil. 2005 à 10:09
bonjour,


je suis débutante en vb.net et j'aurais besoin d'aide pour qu'on m'explique comment vider un datagrid.
J'ai créé un datagrid que j'ai remplis avec les données d'une table access. Puis j'ai créé une fonction de recherche me permettant de ne selectionner que certaines lignes de ma table.
Mon problème est que mes résultats de la recherche s'ajoute aux anciennnes lignes de la grille. Il me faudrait vider le datagrid avant de le remplir a nouveau mais je n'ai pas trouvé de fonction clear(). Existe-t-il une autre fonction pour vider le contenu d'un datagrid?

merci d'avance.

5 réponses

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
25 juil. 2005 à 11:41
Bonjour BloodyM..



Le datagrid n'est qu'un control d'affichage. En aucun cas il ne peut
modifier directement les données. Pour agir sur tes données, il faut
donc agir sur la source (ici, je pense, un datatable ou un dataset).

Pour vider la table ou le dataset avant de le remplir avec un fill, tu
peux faire effectivement un appel à clear (à mon avis, plutôt sur la
DataTable). La méthode Fill ne vide pas les données (doc du framework, et c'est vraiement ce qui se passe ). C'est donc de l'ajout simple de données en fin de table.



Chris

N'oubliez pas de cloturer votre post.
3
bloodymaury Messages postés 4 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 27 juillet 2005
25 juil. 2005 à 13:00
merci beaucoup en vidant mon dataset à chaque nouvelle recherche ça fonctionne.
0
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010
26 juil. 2005 à 09:38
Bonjour,


je ne comprend pas comment marche le delete d'un dataset lié a un datagrid.


J'ai un dataset nommé dtset. Quand Je clique sur un bouton, je supprime une ligne de mon datagrid par l'instruction suivante :


dtset.Tables(
"table1").Rows(2).Delete()

Ensuite, je clique sur un autre bouton pour ajouter une nouvelle ligne dans mon datagrid :


NewLigne(0) =
"NOUVEAU"
dtset.Tables(
"table1"
).Rows.Add(NewLigne)

Pour vérifier mon code je regarde mon datagrid, et je vois que j'ai bien supprimé la ligne d'index 2 et rajouté une ligne avec un champ "NOUVEAU".
Maintenant, si je reclique sur mon bouton supprimé, rien ne se passe!! ...savez vous pourquoi? (j'ai même essayé un refresh du datagrid, mais rien ne se passe)

En seperant recevoir de l'aide, cordialement,
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
26 juil. 2005 à 09:49
Salut,



Premier point, tu écris sur un post cloturé (en vert dans la liste)
donc y a que les contributeurs du post qui peuvent voir ton message et
pas toute la communauté qui considère ce message clos. Donc, c'est
mieux de faire un nouveau post.



Sinon pour ton problème, Trace en utilisant la méthode writexml du
dataset. Tu pourras valider le contenu du dataset sans avoir à te
méfier de l'affichage.

Ensuite, si c'est bien l'affichage qui marche pas correctement, la
solution bourrin c'est de mettre ton datasource à Nothing et de le
redéfinir.



Chris

N'oubliez pas de cloturer votre post.
0

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

Posez votre question
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010
26 juil. 2005 à 10:09
Merci pour ta reponse rapide. J'ai essayé la methode writexml , ca marche plutôt bien! Le deuxième delete ne supprime pas les données du xml...Ce n'est donc pas un problème d'affichage. Je ne vois donc pas ou ca peut venir. Si ca ce trouve c'est normal, il faut peut être utiliser une autre méthode ou rafraichir le dataset. As tu une idée la dessus?
0