We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

GridFormulaTag without a formula result

Hello,

I am using 5.2 as a Virtual Grid. Every cell in my grid is a formula cell.

When I enter a cell reference as a formula i.e. =C11 my program falls into an infinite loop. The grid formula tag I am getting in SaveCellInfo has a parsed formula but no formula result: {GridFormulaTag(11,2) [ C11-> ]}. The grid continues sending me the same formula tag forever.

In my grid I see tags getting passed back to me with a parsed formula but an empty result for a number of different formulas but it always fills in the result on a subsequent call to SaveCellInfo. It is only bare cell references that have this effect. In particular =C11 + 1 and =1 + C11 both work fine.

I have been unable to reproduce this bug in a small sample so I cannot send you one. I know this makes things difficult. Have you perhaps come across something like this before?

Regards,
Ben Fraser

2 Replies

AD Administrator Syncfusion Team October 19, 2007 11:29 AM UTC

We have not seen this problem before.

If you have our source code, you could do a debug build of our libraries (using the BuildManager from the DashBoard) and step through the GetFormattedText method in the Syncfusion\Essential Studio\5.2.0.25\Windows\Grid.Windows\Src\Extensions\Formulas\GridFormulaCell.cs as you leave this cell where you enter =C11. Normally, the formulaTag is created and populated in this method as you complete editing a cell.

Some other things you might check.

Are you providing the FormulaTag with just the parsed formula in QueryStyleInfo? If you are not doing this (and thus always providing an empty FormulaTag), this might explain why the engine never gets beyond parsing.

You could try explicitly and setting the value in your SaveCellInfo when you get a FormulaTag that only has a parsed result to see if this will avoid the recursion. You can do this by calling engine.ComputedValue(parsedFormula).

I assume these are not circular calls. Ie, you are not entering =C11 in the C11 cell. Or, C11 does not reference the cell where you type the =C11. Correct?


BF Ben Fraser October 22, 2007 12:18 AM UTC

Hi Clay,

Thanks for your help. I've tracked down the reason for the bug using your advise. I'll lodge an incident with a sample in direct track shortly.

Thanks,
Ben

Loader.
Live Chat Icon For mobile
Up arrow icon