Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1105
CalcManager recalc
posted

Our application uses both the ultragrid and the ultracalcmanager (the ultracalcmanager is used to allow users to add their own formula columns to grids).  Our code necessitates us calling the recalc function with (-1).  Everything worked great.

We had been lagging in keeping our infragistics version current, so just recently upgraded to 12.1.  After the upgrade, we noticed under certain conditions (some combination of):

1. Binding an underlying datatable

2. Adding an unbound formula column

3. Calling PerformAutoResize() on the formula column

4. Adding a filter

5. Calling ultragrid.displaylayout.RefreshFilters()

Immediately making a call to ultracalcmanager.recalc(-1) would cause the application to deadlock and become unresponsive.  Breaking would find execution in the recalc method.

We contacted support who suggested we needed to set the ultragrid.displaylayout.override.FormulaRowIndexSource.  Previously we had never set this value (so it should use default, which the documentation says is "VisibleRows").  Setting this value to .RowIndex in 12.1 fixed the hanging problem.

My question is this:  What exactly does this option do, and under what scenario should we be using one over the other?  Obviously something changed between 10.1 and 12.1 in and around this value, but I'm really uncomfortable with just trying every value until one works (and support wasn't very descriptive in their response).

I should note that we applied the latest 12.1 patch to .2038, but I verified that setting the row index source to .RowIndex in 12.1.1001 also fixed the problem as well (so it doesn't appear to be something that changed in the patch).

Appreciate any help you can provide!

Chris Rowland