找回密码
 立即注册

QQ登录

只需一步,快速开始

founderedu1

注册会员

16

主题

39

帖子

115

积分

注册会员

积分
115

活字格认证微信认证勋章

founderedu1
注册会员   /  发表于:2015-12-1 11:14  /   查看:5631  /  回复:3
在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,造成死循环,如何解决?

3 个回复

倒序浏览
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单元格值:

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

  6.             gcspreadsheet1.ActiveSheet.Cells[row, col].Value = 1;
  7.             this.gcspreadsheet1.ResumeEvent();

  8.             
  9.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部