永洪社区

标题: 如何通过代码获取组件“表”的选中行的数据 [打印本页]

作者: yhdata_6QkO9Adj    时间: 2024-4-8 16:28
标题: 如何通过代码获取组件“表”的选中行的数据
在组件表中,选择某一个字段值后获取该字段值所在行的所有数据,大佬帮忙看一下。

作者: yhdata_6QkO9Adj    时间: 2024-4-8 17:01
yhdata_lyaa 发表于 2024-4-8 16:45
js组件吗,不行的,可以直接在图表绑定字段,但不支持传入参数

不是js组件,是BI自带的组件比如说这个图中,我选择预算名称下的“年度门禁系统维保”,然后获取这一行的数据
作者: yhdata_yzm    时间: 2024-4-8 17:17
1.组件传参,传递列预算名称,操作选中,传递参数a
2.变化时脚本:
例如:
var a=getData('图表1')
for(i=1;i<a.size();i++)
{
if(a.get(i,1)==param['a'])
{
debug(a.get(i,0))
debug(a.get(i,2))
}
}
作者: yhdata_6QkO9Adj    时间: 2024-4-8 17:24
yhdata_yzm 发表于 2024-4-8 17:17
1.组件传参,传递列预算名称,操作选中,传递参数a
2.变化时脚本:
例如:

这样子会有个问题,当param['a'] 这个参数如果表中有重复的话,会有问题的吧,获取到的a.get(1,0)会先打印第一个之后打印第二个,如果我想精准的获取第N个,该如何做?
作者: 驰骋原野    时间: 2024-4-8 17:35
yhdata_6QkO9Adj 发表于 2024-4-8 17:24
这样子会有个问题,当param['a'] 这个参数如果表中有重复的话,会有问题的吧,获取到的a.get(1,0)会先打 ...

参数a 用来放 唯一id 就可以,如果一个预算名称有多行,那就将参数a的数组连接起来 用 indexof 判断某一行是否在所选预算名称内
作者: yhdata_yzm    时间: 2024-4-8 17:49
yhdata_6QkO9Adj 发表于 2024-4-8 17:24
这样子会有个问题,当param['a'] 这个参数如果表中有重复的话,会有问题的吧,获取到的a.get(1,0)会先打 ...

那么就得按照楼上说的,要有一个唯一值了。选中就得选中ID列




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