永洪社区

标题: 如何通过文本值控制组件的显示与不显示 [打印本页]

作者: yh_gtzKz4Pr    时间: 2021-12-23 16:23
标题: 如何通过文本值控制组件的显示与不显示
8.5.2版本
如何通过文本值控制组件的显示与不显示。目前想根据文本值是否大于0,控制图片的显示。文本值根据年份会有改变。但是发现当年份改变时, 文本.data的值取是上一次年份选择的结果,请问这个要怎么办

作者: yhdata_lyaa    时间: 2021-12-23 16:31
通过文本值控制组件的显示与不显示设置脚本
if(文本1.data>0){
图表1.visible=true
}
else{
图表1.visible=false
}


作者: yh_gtzKz4Pr    时间: 2021-12-23 16:33
永洪tech-lya 发表于 2021-12-23 16:31
通过文本值控制组件的显示与不显示设置脚本
if(文本1.data>0){
图表1.visible=true

但是拿到的data是上一次变化的结果,不是当前的值
作者: 52v0    时间: 2021-12-23 16:37
yh_gtzKz4Pr 发表于 2021-12-23 16:33
但是拿到的data是上一次变化的结果,不是当前的值

写在文本组件的装载时运行里
作者: yh_gtzKz4Pr    时间: 2021-12-23 16:46
52v0 发表于 2021-12-23 16:37
写在文本组件的装载时运行里

刚刚试过了,不行呀,放在文本组件里,都不变化了
作者: 52v0    时间: 2021-12-23 16:50
yh_gtzKz4Pr 发表于 2021-12-23 16:46
刚刚试过了,不行呀,放在文本组件里,都不变化了

你文本组件隐藏了吗?   不能隐藏哦
作者: yhdata_lyaa    时间: 2021-12-23 16:58
本帖最后由 永洪tech-lya 于 2021-12-23 17:03 编辑

现在是怎么写的呢,文本组件隐藏会失效的
作者: yh_gtzKz4Pr    时间: 2021-12-23 17:04
永洪tech-lya 发表于 2021-12-23 16:58
现在是怎么写的呢,文本组件隐藏会失效的

if(文本14.data>0){
    上升1.visible=true;
    下降1.visible=false;
    }
else if(文本14.data<0){
    上升1.visible=false;
    下降1.visible=true;
}
else{
    上升1.visible=false;
    下降1.visible=false;
}

if(文本17.data>0){
    上升2.visible=true;
    下降2.visible=false;
    }
else if(文本17.data<0){
    上升2.visible=false;
    下降2.visible=true;
}
else{
    上升2.visible=false;
    下降2.visible=false;
}

if(文本23.data>0){
    上升3.visible=true;
    下降3.visible=false;
    }
else if(文本23.data<0){
    上升3.visible=false;
    下降3.visible=true;
}
else{
    上升3.visible=false;
    下降3.visible=false;
}
作者: yh_gtzKz4Pr    时间: 2021-12-23 17:05
永洪tech-lya 发表于 2021-12-23 16:58
现在是怎么写的呢,文本组件隐藏会失效的

没有隐藏组件
作者: yhdata_lyaa    时间: 2021-12-23 17:14
文本值是显示时就不对吗
作者: yh_gtzKz4Pr    时间: 2021-12-23 17:32
永洪tech-lya 发表于 2021-12-23 17:14
文本值是显示时就不对吗

文本组件的值显示没有问题,但是取 文本.data 显示的是上一次年份选择的汇总值,而不是当年年份下的汇总值
作者: yh_gtzKz4Pr    时间: 2021-12-23 17:33
永洪tech-lya 发表于 2021-12-23 17:14
文本值是显示时就不对吗

debug(文本.data) 是上一次变化的值,不是本次
作者: 52v0    时间: 2021-12-23 17:33
yh_gtzKz4Pr 发表于 2021-12-23 17:05
没有隐藏组件

emmm  试了下 ,在不批量提交的时候   组件的装载时运行 好像影响不了别的组件(只试了visible) 但是隐藏后不会运行装载时运行了  批量提交的话  运行顺序是 变化时-->数据装载-->组件的装载时运行 (此时时可以修改别的组件的属性的) 如果你要做同环比升降的  可以考虑用自由表  在数据那一格里用红绿灯渲染来改图标
作者: yhdata_lyaa    时间: 2021-12-23 17:41
文本组件有缓存,获取的数据有延迟,脚本获取文本的值需要先getViewData,


作者: yh_gtzKz4Pr    时间: 2021-12-23 17:53
52v0 发表于 2021-12-23 17:33
emmm  试了下 ,在不批量提交的时候   组件的装载时运行 好像影响不了别的组件(只试了visible) 但是隐藏 ...

这个方法不错,也可以试一下
作者: yh_gtzKz4Pr    时间: 2021-12-23 17:54
本帖最后由 yh_gtzKz4Pr 于 2021-12-23 18:34 编辑
永洪tech-lya 发表于 2021-12-23 17:41
文本组件有缓存,获取的数据有延迟,脚本获取文本的值需要先getViewData,

...

这个要怎么用呀,在之前的代码之前加  getViewData?



作者: yhdata_lyaa    时间: 2021-12-23 18:29
yh_gtzKz4Pr 发表于 2021-12-23 17:54
这个要怎么用呀,在之前的代码之前加  getViewData?

如果用动态渲染的话,文件里的图片地址要怎么看

clearData('文本1')
getViewData('文本1')
debug(文本1.data)
//在前面先写
if(文本1.data>0){
图表1.visible=true
}
else{
图表1.visible=false
}
作者: yhdata_lyaa    时间: 2021-12-23 18:35
yh_gtzKz4Pr 发表于 2021-12-23 17:54
这个要怎么用呀,在之前的代码之前加  getViewData?

地址要怎么看是什么意思呢,是自己的文件地址在哪里吗,这是您本地的图片地址
作者: yh_gtzKz4Pr    时间: 2021-12-23 18:57
永洪tech-lya 发表于 2021-12-23 18:35
地址要怎么看是什么意思呢,是自己的文件地址在哪里吗,这是您本地的图片地址 ...

这个我会了
作者: yh_gtzKz4Pr    时间: 2021-12-23 18:58
永洪tech-lya 发表于 2021-12-23 18:35
地址要怎么看是什么意思呢,是自己的文件地址在哪里吗,这是您本地的图片地址 ...

用动态渲染的话怎么获取表列的数据呢
var data=cols.列名,总是取到null值
作者: yhdata_lyaa    时间: 2021-12-24 09:44
yh_gtzKz4Pr 发表于 2021-12-23 18:58
用动态渲染的话怎么获取表列的数据呢
var data=cols.列名,总是取到null值

具体的操作为:先选中环比增长趋势列的单元格,右侧面板常规中选择表格渲染,在表格渲染对话框中选择动态渲染,输入脚本如下:
var data = cols.环比增长趋势 ;
是渲染出来空白吗,设置字段别名为环比增长趋势 这样子呢




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