永洪社区

标题: 页面数据展示需要二次触发 [打印本页]

作者: rqq    时间: 2023-11-10 10:52
标题: 页面数据展示需要二次触发
页面文本展示数据使用的脚本:var data1 = getViewData('表名')  
文本.data = data1.size()-1

但是页面筛选(树状)过后,文本展示的数据有滞后性,展示的数据是上一次筛选的值,不是当前的筛选的值。我们在页面添加了一个刷新按钮,点击按钮之后文本才显示当前筛选后的正确值。

作者: yhdata_lyaa    时间: 2023-11-10 10:52
在这段脚本前加一个
clearData("图表1")
var data1 = getViewData('图表1')  
文本1.data = data1.size()-1
作者: yhdata_lyaa    时间: 2023-11-10 11:00
脚本是写在变化时运行么
作者: rqq    时间: 2023-11-10 11:04
是的
装载和变化都有

作者: yhdata_lyaa    时间: 2023-11-10 11:07
当前是什么版本呢,我们这里测试是正常的,是否有设置批量提交呢
作者: rqq    时间: 2023-11-10 11:12
9.2版本,树状筛选因为不是一个数据源,用了脚本写成数组,加在表格筛选里面(其中一个),表格里面的计算列自己写的环比,且使用了汇总过滤,然后再取的表格值

作者: yhdata_lyaa    时间: 2023-11-10 11:18
rqq 发表于 2023-11-10 11:12
9.2版本,树状筛选因为不是一个数据源,用了脚本写成数组,加在表格筛选里面(其中一个),表格里面的计算列 ...


那可能有影响,不清楚你是咋写的脚本,所有脚本执行顺序是怎样的
,用同一个数据集是可以的,可以试试先组合成一个数据集

作者: rqq    时间: 2023-11-10 11:23
var canshu  = 树状筛选.getSelectObjects()
var canshu2 = ''
for (var canshu3=0,canshu3 < canshu.length;canshu3++){
canshu2 = canshu[canshu2].join()+''
}
param['筛选参数']=canshu2.split(',')
作者: yhdata_lyaa    时间: 2023-11-10 11:38
rqq 发表于 2023-11-10 11:23
var canshu  = 树状筛选.getSelectObjects()
var canshu2 = ''
for (var canshu3=0,canshu3 < canshu.lengt ...

执行完脚本,图表组件得到param['筛选参数'] 才可以筛选呢,所以需要再一次获取数据getViewData,才能放在文本上、
作者: rqq    时间: 2023-11-10 13:40
获取文本的脚本就是放在段脚本的后面
作者: yhdata_lyaa    时间: 2023-11-10 13:48
rqq 发表于 2023-11-10 13:40
获取文本的脚本就是放在段脚本的后面

但是执行时图表还没有变
作者: rqq    时间: 2023-11-10 13:50
图表是变化的,取值慢了一步

作者: rqq    时间: 2023-11-10 14:25
可以了,为什么加clearData就好了?
作者: yhdata_lyaa    时间: 2023-11-10 14:36
rqq 发表于 2023-11-10 14:25
可以了,为什么加clearData就好了?

应该是组件存在缓存,需要清除缓存数据
作者: rqq    时间: 2023-11-10 15:11
yhdata_lyaa 发表于 2023-11-10 14:36
应该是组件存在缓存,需要清除缓存数据

好的,谢谢啦
作者: yhdata_lyaa    时间: 2023-11-10 16:18
rqq 发表于 2023-11-10 15:11
好的,谢谢啦






欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4