Hello Infragistics team,
I am using UltraCalcManager in Grid columns and the calculated value is expected to update back to database (for some reasons, the calculation cannot be done in db directly). for performance consideration, I want to use Asynchronous mode formula calculation and don't want user to click "Upload" button before all calculations is completed. So I registered CalculationsCompleted event and set DeferredCalculationsEnabled to false. This way I can count how many columns calculation has completed and if it equals the count of formula column, "Upload" button can be enabled.
My problem is when user clicks cells used by formula or with formula, event CalculationsCompleted is triggered and there is no event argument for me to distinguish column calculation complete and cell click. Can you please advise how I can know formula column calculation completion in Asynchronous mode? thanks a lot in advance!
Kind Regards,
Russell
Hello Russell,
I am just checking about the progress of this issue. Let me know If you need our further assistance on this issue?
Thank you for using Infragistics Components.
Hi Atanas,
Thanks for following up. I took Mike's advice however it doesn't resolve the problem. If I move the force calculation before committing upload, user will notice that uploaded row count is more that the changed rows.
Basiclly, what I want to achieve is render data faster when initial data population happens and before user can upload data back, the calculation has to complete. if this cannot be achieved, I will have to continue to user Synchronous calculation which has a great impact on data rendering performance.
UltraClackManager might be used over UltraWinGrtid and on any other WindowsForms control as well, so on this point of view we cannot provide such information in CalculationCompleted argument. The main goal of this event is to notify the developer that UltraCalckManager completed its calculations. However I believe that we should leave our developers to complete their research regarding this matter and see what they will find. And you will be update for their findings via the case which I’ve created for you.
Thanks for the informatin.
From development point of view, the CalculationsCompleted argument doesn't provide much information. It is not an issue if a cell click triggers this, it would be greait if I can receive information if this is a cell click calculation or column calculation in the event handler.
Hello Yu,
As the recalculation of formulas when clicking on a cell that participates in a formula is not a typical behavior of the UltraCalcManager we have decided to examine your issue further, so I’ve created case for you in our issue tracking system, its id is CAS-144275-Q7V8C2. The next step will be for a developer to review my investigation and confirm my findings or to offer another fix, or other resolution and give explanation about this behavior. I will update you via the case as soon as I have more information for you.
You can view the status of all development issues connected to this case from the "Development Issues" tab, when viewing this case on the "My Support Requests" page of our website
Thank you for your collaboration
Hi Mike,
As you suggested above, if I use ReCalc() before update, user will have to face the issue to upload more edited rows (formula fields reclaculated) than the user edited rows. That may confuse user or potentially introduce other problem. That's why I had to calculate formula right after data population and flag the changed rows.
Hi Russell,
Yu Yang said:user will notice that uploaded row count is more that the changed rows.
I don't understand what you mean by this. Whether the calculations take place asynchronously as the user is editing or whether they take place synchronously before committing the changes, the same number of rows will still be changed and updated.