找回密码
 立即注册

QQ登录

只需一步,快速开始

ewqasdd123

论坛元老

3

主题

14

帖子

6593

积分

论坛元老

积分
6593

活字格认证

最新发帖
ewqasdd123
论坛元老   /  发表于:2013-4-1 11:19  /   查看:7346  /  回复:7
请问若一个单元格设置了公式,如该公式的值发生改变时触发某个事件

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-4-1 12:27:00
沙发
回复 1楼ewqasdd123的帖子

hanyushi_001 你好,
当前版块为 Spread for ,关于 WinFormSpread for ASP.NET 问题请到相应板块发帖。

我会对本主题进行板块移动,有专门技术人员进行跟踪,在找到解决方案后尽快回复楼主。
回复 使用道具 举报
ewqasdd123
论坛元老   /  发表于:2013-4-1 13:32:00
板凳
回复 2楼iceman的帖子

不好意思,是winform,搞错了!直接从别人那边复制过来的!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-4-1 14:40:00
地板
回复 3楼ewqasdd123的帖子

ewqasdd123 你好,
请问 “如该公式的值发生改变时触发某个事件” 公式的值是指
1.公式本身:例如 SUM(A1:B1) 变成 PRODUCT(A1:B1)
2.公式计算出的值发生变化。

中的哪一种情况?
回复 使用道具 举报
ewqasdd123
论坛元老   /  发表于:2013-4-1 14:51:00
5#
回复 4楼iceman的帖子

第二种~
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-4-1 17:27:00
6#
回复 5楼ewqasdd123的帖子

ewqasdd123 你好,
目前 Spread 没有监听重新计算的功能,可以设置 AutoCalculation 属性为 false,通过 timer 控件设置计算时间,抓取重新计算事件:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.fpSpread1.Sheets[0].AutoCalculation = false;
  4.             this.fpSpread1.Sheets[0].Cells[0, 2].Formula = "SUM(A1:B1)";
  5.         }

  6.         private void timer1_Tick(object sender, EventArgs e)
  7.         {
  8.             this.fpSpread1.Sheets[0].RecalculateAll();
  9.         }
复制代码
回复 使用道具 举报
ewqasdd123
论坛元老   /  发表于:2013-4-8 08:58:00
7#
回复 6楼iceman的帖子

谢谢~~
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-4-8 13:40:00
8#
回复 7楼ewqasdd123的帖子

客气了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部