永洪社区

标题: 自由报表 通过下拉参数 怎么样实现隐藏指定的行? [打印本页]

作者: 867862606    时间: 2020-8-28 16:06
标题: 自由报表 通过下拉参数 怎么样实现隐藏指定的行?
本帖最后由 867862606 于 2020-8-28 17:47 编辑

自由报表  !通过下拉参数 隐藏报表行 怎么通过脚本实现下啊!比如:下拉参数选择【隐藏A】,界面只有B行


此问题已解决!如果有类似问题 可以参考附件【自由报表脚本隐藏行】






作者: 美滋滋    时间: 2020-8-28 16:14
我之前给别人发过一个范例,符合你这个要求。你翻翻帖子吧。
作者: 867862606    时间: 2020-8-28 16:18
lijie 发表于 2020-8-28 16:14
我之前给别人发过一个范例,符合你这个要求。你翻翻帖子吧。

有帖子的地址发个呗
作者: 美滋滋    时间: 2020-8-28 16:23
给你两个方案:
1,用脚本来实现,控制某一行的行高为0或者不为0,来达到显示或不显示的效果。
2,不用脚本实现,分别做两个自由式表格,这两个自由式表格分别进行数据过滤,一个只显示A,一个只显示B。
      然后在报表的变化时运行增加脚本控制,根据下拉选择的不同,显示不同的自由式表格。

第一个方案的范例参考附件,第二个方案就不给范例了。
作者: 867862606    时间: 2020-8-28 17:43
lijie 发表于 2020-8-28 16:23
给你两个方案:
1,用脚本来实现,控制某一行的行高为0或者不为0,来达到显示或不显示的效果。
2,不用脚本 ...

没看董附件  不过  已用脚本已解决了!谢谢

var loc1 = new Locator(['r-2'], ROW, DETAIL) // r-2表示第三行
var loc2 = new Locator(['r-3'], ROW, DETAIL)
if(param["发运方式"]=='隐藏B行'){

自由式表格1.setRowHeight(loc1, 30)
自由式表格1.setRowHeight(loc2, 0)
}
else if(param["发运方式"]=='隐藏A行'){
自由式表格1.setRowHeight(loc2, 30)
自由式表格1.setRowHeight(loc1, 0)
}
else{
自由式表格1.setRowHeight(loc2, 30)
自由式表格1.setRowHeight(loc1, 30)
}
作者: 美滋滋    时间: 2020-8-31 08:06
867862606 发表于 2020-8-28 17:43
没看董附件  不过  已用脚本已解决了!谢谢

var loc1 = new Locator(['r-2'], ROW, DETAIL) // r-2表示 ...

给你的附件是个资源,你直接导入到你的BI中就可以看到了
作者: 867862606    时间: 2020-8-31 08:16
lijie 发表于 2020-8-31 08:06
给你的附件是个资源,你直接导入到你的BI中就可以看到了

是导入的系统里没看明白你设置的什么啊!
作者: 美滋滋    时间: 2020-8-31 08:25
867862606 发表于 2020-8-31 08:16
是导入的系统里没看明白你设置的什么啊!

导入后可以看到脚本内容啊
作者: 美滋滋    时间: 2020-8-31 08:29
867862606 发表于 2020-8-31 08:16
是导入的系统里没看明白你设置的什么啊!

我给你的那个资源,你导入后,看报表的脚本。这个是之前给别人的范例。你可以拿来直接用。我的那个脚本是遍历自由式报表数据,根据数据的大小不同来设定行的高度不同。你这个直接用来修改一下脚本就可以了。比如修改判定条件,修改设置行的高度大小就可以了。




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