起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4207|回复: 5

[结贴] 关于data计算规则的问题

[复制链接]

82

主题

339

帖子

1106

积分

金牌会员

Rank: 6Rank: 6

积分
1106
QQ
发表于 2018-5-2 21:48:24 | 显示全部楼层 |阅读模式
在bizdata里设置了字段M的计算规则,是其他四个字段A、B、C、D相加的值,在界面上改变A、B、C、D的值字段M会自动计算变化,但是如果在后台的bizDataValueChanged里使用类似bizData.setValue('A', '0')这种字段赋值时,前台的自动计算是不起作用的,这是怎么回事?计算是在什么情况下被触发的?怎么让自动计算起作用啊
发表于 2018-5-3 11:03:15 | 显示全部楼层
执行完 bizData.setValue('A', '0') 后, 应该还会重新触发bizDataValueChanged 事件的吧!  你要保证不要死循环了

只要代码执行完了   A 赋值成功了, M 就可以自动感知的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

82

主题

339

帖子

1106

积分

金牌会员

Rank: 6Rank: 6

积分
1106
QQ
 楼主| 发表于 2018-5-4 00:54:54 | 显示全部楼层
liangyongfei 发表于 2018-5-3 11:03
执行完 bizData.setValue('A', '0') 后, 应该还会重新触发bizDataValueChanged 事件的吧!  你要保证不要 ...

检查过了,应该没有死循环的问题,我有条件判断,当字段M等于0时是不会触发字段A赋值的。又做了几个测试,感觉在bizDataValueChanged 事件里给字段赋值不会自动触发计算规则的,但是在事件外部的就可以,比如做个button执行赋值。
回复 支持 反对

使用道具 举报

发表于 2018-5-4 09:38:00 | 显示全部楼层
bio_2000 发表于 2018-5-4 00:54
检查过了,应该没有死循环的问题,我有条件判断,当字段M等于0时是不会触发字段A赋值的。又做了几个测试 ...

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

发表于 2018-5-4 12:13:01 | 显示全部楼层
注意两个问题,
1. 判断条件不要让 B 一直去赋值,尤其是计算D 的时候,不能再执行data.setValue其他字段
否则这个时候D 的计算就会计算两次,以第一次为准的!

如果你想修改其他字段,可以都使用计算规则实现!  比如B 也使用计算规则,去修改值,别在onValueChage 事件里改了!

或者是D 也在onValueChaged事件中去计算

要么都使用计算规则,要么都使用onValueChaged   如果混着用,就是判断如果当前列是D  ,就不要去修改其他字段的值了(这个时候是不生效的)

test.rar

1.07 KB, 下载次数: 98

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

82

主题

339

帖子

1106

积分

金牌会员

Rank: 6Rank: 6

积分
1106
QQ
 楼主| 发表于 2018-5-4 23:13:43 | 显示全部楼层
liangyongfei 发表于 2018-5-4 12:13
注意两个问题,
1. 判断条件不要让 B 一直去赋值,尤其是计算D 的时候,不能再执行data.setValue其他字段
...

恩,好的,我明白了,结贴吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-10 03:12 , Processed in 0.075248 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表