[C++Builder] Changement de donnée dans DBGRID
sfeltan
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
lirey83 Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
lirey83 Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
Voila je fais un programme sous C++ Builder version 3 (et oui, vieille version car dans mon bts de programation ils ont pas de sous pour acheter la dernière version ^^) et en fait j'affiche les données d'une base de donnée de type ACCESS 2003 dans un composant DBGRID.
Mon hic: je veux effectuer une action lorsqu'il y a un changement dans l'affichage de mon DBGRID. Alors j'ai vu qu'il y a des méthodes "OnDataChange" mais que sur les objets DataSource. Le truc c'est que j'ai une boucle infinie de scrutation de ma base de donnée et si je met le "OnDataChange" sur mon DataSource, il s'active car mon programme est en boucle de lecture et le fait d'executer la requete SQL dans le composant de type TQuery active le "OnDataChange".
En gros j'aimerais que mon programme capte d'eventuels changement de l'affichage dans mon DBGRID (affichage réactualisé chaque seconde grace à un Timer qui exécute la requete d'affichage chaque seconde).
Quelqu'un aurait une solution???
Mon hic: je veux effectuer une action lorsqu'il y a un changement dans l'affichage de mon DBGRID. Alors j'ai vu qu'il y a des méthodes "OnDataChange" mais que sur les objets DataSource. Le truc c'est que j'ai une boucle infinie de scrutation de ma base de donnée et si je met le "OnDataChange" sur mon DataSource, il s'active car mon programme est en boucle de lecture et le fait d'executer la requete SQL dans le composant de type TQuery active le "OnDataChange".
En gros j'aimerais que mon programme capte d'eventuels changement de l'affichage dans mon DBGRID (affichage réactualisé chaque seconde grace à un Timer qui exécute la requete d'affichage chaque seconde).
Quelqu'un aurait une solution???
A voir également:
- [C++Builder] Changement de donnée dans DBGRID
- Pdftk builder - Télécharger - PDF
- Changer de dns - Guide
- Tiny11 builder - Accueil - Windows
- Family tree builder - Télécharger - Généalogie
- Changement d'écriture facebook - Guide
3 réponses
Regardes aussi l'évènement OnBeforeScroll etOnAfterScroll qui se produisent à chaque changement de record.
Tu peux aussi débrancher temporairement tes évènements le temps de faire les opérations nécessaire. Typiquement tu fais ça avec un try/finally :
- Débranche l'évènement (mise à NULL)
- try { ...}
- finally rebranche l'évènement
Tu peux aussi débrancher temporairement tes évènements le temps de faire les opérations nécessaire. Typiquement tu fais ça avec un try/finally :
- Débranche l'évènement (mise à NULL)
- try { ...}
- finally rebranche l'évènement
oui et non, extension de C++ spécifique à C++Builder Borland (faut pas oublier que la VCL et tous les composants sont fait en Delphi). Faut mettre aussi __ devant finally. __finally fonctionne de la même manière que catch sauf que le code est toujours executé, erreur ou pas dans le bloc try. Cela permet d'être sur que certaines opérations seront effectuées même si on a eu des erreurs entre temps.