gpt4 book ai didi

birt - 如何一一获取参数的多个值的数据

转载 作者:行者123 更新时间:2023-12-02 15:17:42 25 4
gpt4 key购买 nike

我的一个参数有多个值,我想为 Birt 报告中每个参数值的每个查询获取数据。我只获取参数的一个值的数据,而不是全部。 m 使用脚本数据源。打开和获取方法。谢谢

在数据集中打开

 importPackage(Packages.com.abc.test.events);

var TlantNo = params["tlant"].value;
var reqNo = params["Number"].value;

poreEvents = new StdPoreReqEvents();
poreEvents.setReqNo(reqNo);
poreEvents.setTlantNo(TlantNo);
poreEvents.open();

获取

var poreRO = poreEvents.fetch();
if (poreRO == null) {
return false;
} else
{

row["REQ_NO"] = poreRO.getReqNo();
row["REQ_DATE"] = poreRO.getReqDate();

return true;
}

最佳答案

具有多个值的报表参数是一个数组,我们必须通过脚本数据集对其进行迭代。

在数据集的open事件中,我们只需初始化一个全局索引:

i=0;

fetch 事件中,使用下面的脚本处理每次迭代。特别注意我们如何获取reqNo的值:

importPackage(Packages.com.abc.test.events);

if (params["Number"].value!=null && i<params["Number"].value.length){
var TlantNo = params["tlant"].value;
var reqNo = params["Number"].value[i];

//ETC. do here your stuff with porevents, declare poreRO, check if result is null

row["REQ_NO"] = poreRO.getReqNo();
row["REQ_DATE"] = poreRO.getReqDate();
i++; //Important: increment this even if poreRO is null, otherwise infinite loop
return true; //should return true even if poreRO was null, to process next rows
}else{
return false;
}

关于birt - 如何一一获取参数的多个值的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23005466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com