Disons que je veux temporairement désactiver le OnCalcFields
(par exemple, en fixant cdsCalcFields := nil
) lors d'une opération fastidieuse sur un TClientDataSet. Comment puis-je dire au TClientDataSet d'effectuer un nouveau calcul des champs calculés lorsque je rattache l'élément OnCalcFields
méthode ?
Une autre situation qui peut nécessiter un recalcul manuel est celle où certains champs calculés dépendent d'autres ensembles de données (par exemple, un champ calculé est utilisé pour contenir temporairement une valeur agrégée provenant d'un autre ensemble de données). Cela fonctionne bien dans la plupart des cas, car le OnCalcFields
Les événements sont exécutés assez souvent pour obtenir la valeur correcte de l'autre ensemble de données. Mais dans certaines circonstances, un nouveau calcul est nécessaire pour obtenir la valeur correcte de l'autre ensemble de données.
Fixer le AutoCalcFields
à la propriété False
peut également vous mettre dans une situation où un recalcul manuel est souhaité.
J'ai vu plusieurs explications sur la manière de réduire l'exécution du OnCalcFields
mais je n'arrive pas à trouver un moyen simple d'effectuer un nouveau calcul...
Des suggestions ?