founderedu1 发表于 2015-12-1 11:14:00

value_changed事件+修改cell.value+calcService=死循环,如何解?

在value_changed中获取到单元格B1的值 1.2,并设置cell.value=1,会再次触发value_changed,这时得到的值是1,但如果这个单元格B1 在A1格的公式里,例如 A1=SUM(B1:B5) 虽然修改了cell.value=1,但calcService似乎也存了一份B1的值,又会将B1设置为1.2,造成死循环,如何解决?

iceman 发表于 2015-12-1 17:42:00

回复 1楼founderedu1的帖子

问题重现了,已经反馈给产品组进行查看。
有进一步消息反馈给你。

founderedu1 发表于 2015-12-1 17:52:00

好的,谢谢!持续等待。

iceman 发表于 2015-12-2 12:23:00

回复 3楼founderedu1的帖子

请通过以下方法设置spread单元格值:

      private void GcSpreadSheet_ValueChanged(object sender, GrapeCity.Windows.SpreadSheet.UI.CellEventArgs e)
      {
            this.gcspreadsheet1.SuspendEvent();
            int row = e.Row;
            int col = e.Column;

            gcspreadsheet1.ActiveSheet.Cells.Value = 1;
            this.gcspreadsheet1.ResumeEvent();

            
      }
页: [1]
查看完整版本: value_changed事件+修改cell.value+calcService=死循环,如何解?