业务场景:决策报表,body中的控件S,报表块展示数据
用户选择A,实际上是要查询 a1,a2,a3....对应的数据,现在已经通过在JS里面执行FR.remoteEvaluate()查询出了a1,a2,a3.....,并赋值给了JS中定义的参数K,那么我如何把K传给数据集ds1去执行呢,并且在报表块中展示出相应的数据
把参数赋值 给报表中的参数控件
参数名绑定ds1 数据集中的参数
报表中添加一个控件,做为参数,控件名和ds1数据集中参数名一致
js :
var value=this.getValue()//假定你的参数是从控件中的值获取来的
var canshu = this.options.form.getWidgetByName("参数名");
canshu.setValue(value)
注:如果 不是在参数面板中的控件,是会自动查询的。
如果控件赋值没有执行查询
再添加一句:this.options.form.getWidgetByName("report0").gotoPage(1,"{参数名:'"+value+"'}",true);
//report0是具体报表块名称,跟你的报表块名称要一致。
赋值给单元格吧,注意不扩展,然后DS1获取这个单元格的值 用 IN()查询
另外的思路
Form3.zip