Nella schermata di immissione dei dati principale, è presente una finestra di dialogo OK/Annulla nell'evento OnBeforePost.Delphi: Annullamento di un TDataSet.Post in un evento OnBeforePost
- OK lascia le cose seguano il loro corso
- Annulla in questo momento fa un
Dataset.Cancel;
che fa quello che ha significato per, ripristinare le modifiche e mette l'insieme di dati in modalità di visualizzazione.
Questo va bene per la maggior parte dei clienti, ma c'è stato chiesto se può essere cambiato in
- Annulla, Abort il Post e rimanere in modalità di modifica con i cambiamenti in corso tenuto.
Se desiderano annullare, possono utilizzare il pulsante Annulla.
Guardando la fonte per procedure TDataSet.Post;
non sembra possibile utilizzare l'evento in questo modo.
Dose qualcuno ha qualche idea su come questo potrebbe essere fatto?
Follow Up: questo è il modo che ho scelto per gestire la cosa ora
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;
Grazie, funziona bene. sembra un po 'un trucco. Ma Cancellare un post è un po 'un trucco per stare con –
Sono d'accordo che sembra un trucco, ma sicuramente non lo è (o almeno dovrebbe essere così). Vedi i documenti: tinyurl.com/pxjuqs E in realtà, penso che cancellare un post sia perfettamente comprensibile, anche :) – onnodb