如何将参数从数据集行值传递给通过脚本数据源访问的 java 函数?
我有一个解密加密字符串的java类
class Decryptor{
public String decrypt(text)
{
.
.
StandardPBEStringEncryptor textEncryptor = new StandardPBEStringEncryptor();
return textEncryptor.decrypt(text);
}
}
我将它导入到我的 birt 报告中,如下所示:我创建了一个名为 dsCode 的数据集,其中包含“code”列;
open:
sessionUtil = new Packages.com.reports.server.generator.data.SessionUtil();
sessionUtil.openCurrentSession();
c = new Decryptor();
textDecrpt = c.decrypt("O6pas1t9NyY9bmAtjvX2NA==");
fetch;
row["code"] = textDecrpt ;
return true;
这工作正常。但是我想将一个值从另一个数据集行值(dsCustomerIfdo 的加密代码列)传递给解密函数。我该怎么做呢?我将 dsCode 作为子报表的数据源,并将名为 pmCode 的参数添加到 dsCode 并使用“数据集参数绑定”将值传递给它,并制作了这样的脚本
textDecrpt = c.decrypt(params["pmCode"]);
这给了我文件未定义的错误结尾。如何在 javascript 中访问数据集行值?或将数据集的行值传递给脚本函数?
这是行不通的
var dset = reportContext.getDesignHandle().findDataSet("dsCustomerInfo");
textDecrpt = c.decrypt(dset.getRow("encryptedCode").value);
谢谢