loicblaise
Messages postés4Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention16 novembre 2005
-
15 sept. 2005 à 18:32
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 2005
-
16 sept. 2005 à 16:32
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.
loicblaise
Messages postés4Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention16 novembre 2005 16 sept. 2005 à 11:51
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
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 20051 16 sept. 2005 à 16:32
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.