关于脚本 getViewData 获取名称问题

ljeary铂金三 显示全部楼层 发表于 2023-11-21 16:52:35 |阅读模式 打印 上一主题 下一主题
1
已解决

关于脚本 getViewData 获取名称问题

  • ljeary铂金三
  • 2023-11-21 16:52:35
  • 发布在 论坛
780 10
如图: 装载时能获取到 脚本设置的 列名, 在变化时运行的 钩子函数里面  获取不了 列名


装载时代码:
function setTableHeadView(){
    getViewData('图表1', DATA).set(0,0,'列名1值')
    图表1.setFormatPattern(Locator(['0,0', CELL, HEADER), '列名1显示')
}
setTableHeadView()
debug(getViewData('图表1', DATA).get(0,0) + '--装载时获取')






变化时代码:
debug(getViewData('图表1', DATA).get(0,0) + '--在变化时获取')

最佳答案

永洪vip
洪小豆 关注Ta

2023-11-21 16:52:36

装载时, 是不是 要对组件 进行初始化 并渲染, 那么 脚本和 组件的初始化和渲染 ,是2个异步线程在执行。 谁先执行,谁后执行,是很难说的。 所以,建议是在变化时再去做, 这样才能保证 脚本 后于 初始化时的渲染。
查看完整内容
回复

使用道具 举报

精彩评论10

洪小豆 显示全部楼层 发表于 2023-11-21 16:52:36
装载时, 是不是 要对组件 进行初始化 并渲染,   那么 脚本和 组件的初始化和渲染 ,是2个异步线程在执行。   谁先执行,谁后执行,是很难说的。  所以,建议是在变化时再去做, 这样才能保证 脚本 后于 初始化时的渲染。
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2023-11-21 17:13:04
得触发变化才能执行变化时运行的脚本
回复

使用道具 举报

ljeary铂金三 显示全部楼层 发表于 2023-11-21 20:24:18
yhdata_yzm 发表于 2023-11-21 17:13
得触发变化才能执行变化时运行的脚本

这个函数放到 变化时运行的话, 我表头数据有几十个, 意味着 只要有一点变动,就不停的 重复渲染表头, 理论上 表头只需要在初始化时 渲染一次就好了,表头一般又不会变化,  大佬还有别的办法吗
回复

使用道具 举报

yanieye 显示全部楼层 发表于 2023-11-21 20:38:41
没懂你是什么意思呢, 如果需要通过“getViewData('图表1', DATA).set(0,0,'列名1值')”去改变viewdata的值,那么每次变化的时候不是都需要去设置么?  如果不需要设置这个内容的话,那么就应该不需要每次都变化时都需要去设置format了。
回复

使用道具 举报

ljeary铂金三 来自手机 显示全部楼层 发表于 2023-11-22 16:24:53
yanieye 发表于 2023-11-21 20:38
没懂你是什么意思呢, 如果需要通过“getViewData('图表1', DATA).set(0,0,'列名1值')”去改变viewdata的值 ...

我想通过脚本去设置 这个 列名,是因为我们有几十张报表,我不想直接手动去点击表格输入列名, 但这个列名是不会变动的, 就是初始化一次就可以了, 甚至于我就在建表的时候 初始化一次后, 我把这个设置语句删除, 那这个表的列名就永久不会变了。 但是问题就是 通过 get(下标) 取不到对应的列名,  不知道我这样解释大佬能懂我为啥要 使用脚本设置列名吗
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2023-11-22 17:10:42
ljeary 发表于 2023-11-21 20:24
这个函数放到 变化时运行的话, 我表头数据有几十个, 意味着 只要有一点变动,就不停的 重复渲染表头,  ...

首先我的意思是如果你的脚本如果放到变化时运行,那么就必须要有报告的变化才能执行脚本,对应了debug在变化时无法获取到值。
然后根据你的描述需要在变化对表头做一些做作,那么可以用if()去限定条件什么样变化才能去执行这个脚本呢。
回复

使用道具 举报

ljeary铂金三 来自手机 显示全部楼层 发表于 2023-11-22 18:35:53
yhdata_yzm 发表于 2023-11-22 17:10
首先我的意思是如果你的脚本如果放到变化时运行,那么就必须要有报告的变化才能执行脚本,对应了debug在 ...

首先, 我想知道 在装载时 初始化 set 的头部, 为啥在 变化时 去 get 获取不到, 【这个感觉像BUG】
其次就是大佬说的, 到变化时运行 里面去 执行初始化set头部的话, 我就设置一个变量是否执行过初始化, 默认为true  执行初化后置为false,这样能保证只在 变化时运行只执行一次
回复

使用道具 举报

ljeary铂金三 来自手机 显示全部楼层 发表于 2023-11-23 09:04:06
洪小豆 发表于 2023-11-22 19:30
装载时, 是不是 要对组件 进行初始化 并渲染,   那么 脚本和 组件的初始化和渲染 ,是2个异步线程在执行 ...

好的 大佬
回复

使用道具 举报

ljeary铂金三 显示全部楼层 发表于 2023-11-23 09:17:56
yhdata_yzm 发表于 2023-11-22 17:10
首先我的意思是如果你的脚本如果放到变化时运行,那么就必须要有报告的变化才能执行脚本,对应了debug在 ...

大佬,如图: 设置变量 只让 初始化脚本 在 变化时运行一次, 后续发生变化时,没法获取到列名, 难道 这个要想在变化时获取到列名, 就每次变化都要 初始化一次列名?
1.png
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部