Per-sheet custom formula instances don't work

Posted by: ian-horwill on 8 September 2017, 2:25 pm EST

  • Posted 8 September 2017, 2:25 pm EST

    We have a problem in a grid with multiple sheets. Each sheet has its own instance of the same custom function, with a differentiating parameter passed in the formula's constructor. However, the same instance of the formula is used on each sheet, as indicated by the fact that the same result is displayed on each sheet for the same input, whereas each instance should give a different result based on its constructor arguments.

    A sample application is attached.

    I believe this must have worked in an earlier version of FarPoint Spread, but I'm not sure which upgrade changed it.


    2010/08/CustomFomulaTest.zip
  • Replied 8 September 2017, 2:25 pm EST

    Hi,

    The default behavior is to have the calculations shared across the workbook.  Internally, the same calculation controller is shared by the data model for each sheet, and it is the calculation controller which maintains the custom functions and names you have set.  If you set FpSpread.EnableCrossSheetReference = false, then each sheet uses its own separate calculation controller and keeps a separate table of custom functions and names, but you can no longer reference cells in other sheets.  If you need that functionality, you will have to leave EnableCrossSheetReference = true, and use different custom functions (with different names) on each sheet instead.  This default behavior was different in version 1, when EnableCrossSheetReference was added in version 2.

  • Replied 8 September 2017, 2:25 pm EST

    Many thanks for the swift response. We don't need cross-sheet formulas in this case, so turning them off fixes our problem.
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels