Foxtable(狐表)用户栏目专家坐堂 → 关于表事件问题


  共有2451人关注过本帖树形打印复制链接

主题:关于表事件问题

帅哥哟,离线,有人找我吗?
atmetmicoo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
关于表事件问题  发帖心情 Post By:2015/5/14 16:21:00 [只看该作者]

各位老师好,

有个头疼的问题请教:

我的系统是网络多用户版,假设一个"表1"有A、B列,在表事件DataColChanged设置,如果B列有变化,就会执行公式:A = A + e.NewValue - e.OldValue;


假设用户1 和 用户2同时加载了这个表的数据,用户1修改了修改了B,就会执行了A = A + e.NewValue - e.OldValue
但是这个时候,用户2 重新Load了“表1”,也会执行A = A + e.NewValue - e.OldValue,等于就是多执行了一次,请问这种问题有办法解决吗?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 16:22:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 16:25:00 [只看该作者]

 你这样的计算,本身就有问题,不要在原值上面加减,两列可以弄成3列,B列分拆成初始值和修改值。

 回到顶部
帅哥哟,离线,有人找我吗?
atmetmicoo
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2015/5/14 16:48:00 [只看该作者]

以下是引用大红袍在2015/5/14 16:25:00的发言:
 你这样的计算,本身就有问题,不要在原值上面加减,两列可以弄成3列,B列分拆成初始值和修改值。

其实我的程序不是这么简单,是用一个表计算其他表的数据,为了方便大家理解我简化了描述


 回到顶部
帅哥哟,离线,有人找我吗?
atmetmicoo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2015/5/14 16:49:00 [只看该作者]

以下是引用Bin在2015/5/14 16:22:00的发言:
独占编辑 http://www.foxtable.com/help/topics/2295.htm

Hi,Bin老师,不是两个人同时编辑,而是一个人编辑,另外一个人刷新导致的重复运算


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 16:50:00 [只看该作者]

看3楼设计思路有问题,应该换个思路

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 16:51:00 [只看该作者]

Load表1,只要不修改B列的数据,也是不会触发Datacolchanged事件的啊。

 

例子说明问题


 回到顶部
帅哥哟,离线,有人找我吗?
atmetmicoo
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2015/5/14 16:51:00 [只看该作者]

以下是引用Bin在2015/5/14 16:50:00的发言:
看3楼设计思路有问题,应该换个思路

那如果刷新表也会导致重复计算也是浪费资源,可否有解决方式判断,如果是刷新表就不计算


 回到顶部
帅哥哟,离线,有人找我吗?
atmetmicoo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2015/5/14 16:53:00 [只看该作者]

以下是引用大红袍在2015/5/14 16:51:00的发言:

Load表1,只要不修改B列的数据,也是不会触发Datacolchanged事件的啊。

 

例子说明问题

如果用户2已经加载了表1,在重新加载就是数值在变化,会自动激活


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 16:53:00 [只看该作者]

 不会重新计算,肯定是你哪里设置了代码重新计算。

 回到顶部
总数 13 1 2 下一页