Sur notre écran de saisie de données principal, nous avons une boîte de dialogue OK/Annuler dans l'événement OnBeforePost.Delphi: Annulation d'un TDataSet.Post dans un événement OnBeforePost
- OK laisse les choses suivre leur cours
- Annuler ne fait actuellement un
Dataset.Cancel;
Ce qui fait ce qu'il est censé, annuler tout changement et met le jeu de données en mode de navigation.
Ceci est très bien pour la plupart des clients, mais on nous a demandé si elle peut être changée en
- Annuler, Abandonner la Poste et de rester en mode édition avec les changements actuels conservés.
S'ils veulent annuler, ils peuvent utiliser le bouton Annuler.
En regardant la source pour procedure TDataSet.Post;
il ne semble pas possible d'utiliser l'événement de cette façon.
Dose quelqu'un a des idées sur la façon dont cela pourrait être fait?
Suivi: voilà comment j'ai choisi de gérer maintenant
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;
Merci, ça marche bien. semble être un peu un hack. Mais annuler un post est un peu un hack d'être avec –
Je suis d'accord que cela ressemble à un hack, mais ce n'est certainement pas (ou du moins c'est censé être comme ça). Voir les docs: tinyurl.com/pxjuqs Et en fait, je pense que l'annulation d'un post est parfaitement sensée, aussi :) – onnodb