Bonjour,
Je suis sous Delphi XE2 avec une base de données Firebird sous Windows. J'utilise les composants Infopower et IbObject.
Je réalise un programme. A partir de la form principale (form_A), j'appelle une fenêtre (form_B). form_B est affichée en appuyant sur le button Edit du dbnavigator (composant infopower) présent sur le form_A. Le dbnavigator est lié à un datasource qui est lié à une query (ibobject avec dataset intégré).
Les différents éléments de la form_B auront un affichage spécifique en fonction du State du dataset.
Dans l'évènement FormShow du form_B, je mets le code suivant
Le problème est que dans cet évènement (FormShow), le state du dataset est toujours en dsbrowse. Lorsque la fenêtre est finalement affichée et active, il est bien en edit. En effet, je peux modifier et valider les données. J'ai également du code sur le state du dataset sur l'évènement OnClose du Form_B et là, il est dans le bon State.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if Dm_ps12.qry_attributions_ps12.State = dsEdit then begin Self.p_display('edit'); end else if Dm_ps12.qry_attributions_ps12.State = dsInsert then begin Self.p_display('new'); end;
Je ne comprends pas pourquoi le state du dataset n'est pas encore en Edit sur l'évènement FormShow.
Auriez-vous une explication de ce changement "tardif" du state ?
Merci d'avance pour votre aide
Partager