[DotNet] problèmes rafraichissement de datagrid

Signaler
Messages postés
4
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
16 novembre 2005
-
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
-
Bonjour à tous, j'ai un problème de datagrid.

En fait pour modifier les valeurs du datagrid situé dans une form1, j'ouvre une form2 dans lequelle je modifie les variables (je les ai déclarées en globales, je sais que ce n'est pas top mais je ne savais pas trop comment faire).

Une fois que j'enregistre les variables, elles vont bien se mettre dans la base de données mais par contre l'affichage du datagrid ne change pas.

En utilisant exactement la même fonction dans la form1 (j'utilise pour celà un bouton) et bien mon datagrid se met bien à jour. (d'où mon post sur les events)

Je ne sais pas si j'ai été très clair mais là j'avoue que je suis perdu.

Merci
Loïc

3 réponses

Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Salut,



Tu modifies la même source de données (DataSet, ou DataTable) dans les deux form?

Chris

N'oubliez pas de cloturer votre post.
Messages postés
4
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
16 novembre 2005

Salut, oui je modifie bien la même source de donnée, quand je l'ouvre dans access les modifications ont bien été apportée. Si je ferme le logiciel et que je le réouvre, l'affichage se met bien à jour.

J'ai trouvé une solution concernant ce problème, j'utilise l'évènement .activated, comme ça dès que je reviens sur la page ça se met à jour, l'inconvénient est que la fonction tourne les temps que la form est ouverte
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Tout d'abord, quand tu dit la base access est bien à jour, elle peut
être à jour et le DataSet qui sert de source de données à ton
DataGrid peut ne pas être à jour. Cas simple, tu remplis ton DataSet à
l'aide de la méthode Fill d'un DataAdapter et tu fais la mise à jour
avec une Command "update" directe sur la base. Dans ce cas, le DataSet
n'est pas à jour vis à vis de la base de données.



Une fois ce point là OK.

Je suppose que les modifications sont faites dans une fenêtre modal.

A la fermeture de cette fenêtre, tu peux mettre à jour le DataGrid en
mettant le DataSource à Nothing et en le remettant avec son ancienne
valeur. Ca devrait se mettre à jour mais ça sera pas joli graphiquement.



Sinon, il y a une technique avec le CurrencyManager (disponible dans
une propriété privé ListManager) lié au DataGrid et sa méthode Refresh
mais j'ai pas d'exemple sous la main. Je pense qu'au niveau de la doc,
tu dois trouver des infos.

Chris

N'oubliez pas de cloturer votre post.