永洪社区

标题: 关于脚本 getViewData 获取名称问题 [打印本页]

作者: ljeary    时间: 2023-11-21 16:52
标题: 关于脚本 getViewData 获取名称问题
如图: 装载时能获取到 脚本设置的 列名, 在变化时运行的 钩子函数里面  获取不了 列名


装载时代码:
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) + '--在变化时获取')


作者: 洪小豆    时间: 2023-11-21 16:52
装载时, 是不是 要对组件 进行初始化 并渲染,   那么 脚本和 组件的初始化和渲染 ,是2个异步线程在执行。   谁先执行,谁后执行,是很难说的。  所以,建议是在变化时再去做, 这样才能保证 脚本 后于 初始化时的渲染。
作者: yhdata_yzm    时间: 2023-11-21 17:13
得触发变化才能执行变化时运行的脚本
作者: ljeary    时间: 2023-11-21 20:24
yhdata_yzm 发表于 2023-11-21 17:13
得触发变化才能执行变化时运行的脚本

这个函数放到 变化时运行的话, 我表头数据有几十个, 意味着 只要有一点变动,就不停的 重复渲染表头, 理论上 表头只需要在初始化时 渲染一次就好了,表头一般又不会变化,  大佬还有别的办法吗
作者: yanieye    时间: 2023-11-21 20:38
没懂你是什么意思呢, 如果需要通过“getViewData('图表1', DATA).set(0,0,'列名1值')”去改变viewdata的值,那么每次变化的时候不是都需要去设置么?  如果不需要设置这个内容的话,那么就应该不需要每次都变化时都需要去设置format了。
作者: ljeary    时间: 2023-11-22 16:24
yanieye 发表于 2023-11-21 20:38
没懂你是什么意思呢, 如果需要通过“getViewData('图表1', DATA).set(0,0,'列名1值')”去改变viewdata的值 ...

我想通过脚本去设置 这个 列名,是因为我们有几十张报表,我不想直接手动去点击表格输入列名, 但这个列名是不会变动的, 就是初始化一次就可以了, 甚至于我就在建表的时候 初始化一次后, 我把这个设置语句删除, 那这个表的列名就永久不会变了。 但是问题就是 通过 get(下标) 取不到对应的列名,  不知道我这样解释大佬能懂我为啥要 使用脚本设置列名吗
作者: yhdata_yzm    时间: 2023-11-22 17:10
ljeary 发表于 2023-11-21 20:24
这个函数放到 变化时运行的话, 我表头数据有几十个, 意味着 只要有一点变动,就不停的 重复渲染表头,  ...

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

首先, 我想知道 在装载时 初始化 set 的头部, 为啥在 变化时 去 get 获取不到, 【这个感觉像BUG】
其次就是大佬说的, 到变化时运行 里面去 执行初始化set头部的话, 我就设置一个变量是否执行过初始化, 默认为true  执行初化后置为false,这样能保证只在 变化时运行只执行一次
作者: ljeary    时间: 2023-11-23 09:04
洪小豆 发表于 2023-11-22 19:30
装载时, 是不是 要对组件 进行初始化 并渲染,   那么 脚本和 组件的初始化和渲染 ,是2个异步线程在执行 ...

好的 大佬
作者: ljeary    时间: 2023-11-23 09:17
yhdata_yzm 发表于 2023-11-22 17:10
首先我的意思是如果你的脚本如果放到变化时运行,那么就必须要有报告的变化才能执行脚本,对应了debug在 ...

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

作者: yhdata_yzm    时间: 2023-11-23 09:57
ljeary 发表于 2023-11-23 09:17
大佬,如图: 设置变量 只让 初始化脚本 在 变化时运行一次, 后续发生变化时,没法获取到列名, 难道 这 ...

私信发一下你的远程方式,远程看看




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