Your fix does improve efficency for us and that is critical. Thank you. However, the result is not always correct.
Using the code you have supplied, any cell that has a formula at start up will not update correctly when new values are entered into the cell.
I've added initial formulas to all of row 4 in the modified example we're using via the ExternalData constructor. Run the program and modify cell C4 from =A3 + 6 to =A3 + 66. The CellValue gets updated correctly but the formula result is still 206, rather than 266. If you then change the value of A3 to something else, the result in C4 reverts to using A3 + 6 rather than A3 + 66.
By adding a break point to the line "if (!renderer.IgnoreSaveCellInfo)" in GridSaveCellInfo of Form1.cs it can be observed that the initial (ignored) hit has the correct FormulaTag value and an incorrect CellValue while the second (saved) hit has the right CellValue but an incorrect FormulaTag. If the IgnoreCellInfo check is removed, saving the correct FormulaTag on the first hit seems to magically update the CellValue to the correct amount; everything then works fine.
This problem does not seem to effect any cells that are not initally loaded with a formula.
What's going on here?
Thanks,
Ben
SeperateModelTest2.zip