Java 访问Birt单元

Java 访问Birt单元,java,birt,Java,Birt,我在从另一个单元格访问Birt单元格值时遇到问题 单元格1具有带表达式的动态文本。它绑定到一个数据集1。 单元格2具有带表达式的动态文本。它绑定到一个数据集2 单元格3必须使用cell1和cell2,并根据它们的值对表达式进行计数。假设cell1.value+cell2.value 问题是,我找不到一种方法来获取cell1的值。 我试过: this.setDisplayValue(reportContext.getDesignHandle().getElementByID(997).text()

我在从另一个单元格访问Birt单元格值时遇到问题

单元格1具有带表达式的动态文本。它绑定到一个数据集1。 单元格2具有带表达式的动态文本。它绑定到一个数据集2

单元格3必须使用cell1和cell2,并根据它们的值对表达式进行计数。假设cell1.value+cell2.value

问题是,我找不到一种方法来获取cell1的值。 我试过:

this.setDisplayValue(reportContext.getDesignHandle().getElementByID(997).text());
但在处理过程中出错

Cannot find function text in object org.eclipse.birt.report.model.api.TextDataHandle@edc8ca
它也没有像getValue、getDisplayValue这样的函数


有人知道如何解决这个问题吗?

关于您的报表设计,这里没有太多信息。但是做一些有根据的猜测。动态文本并不是处理结果的最佳选择。有两种更简单的解决方法:-

1-如果可行,将数据源连接到一个数据源中,并在单元格1、2和3中为您的值计算列

在大纲中,用鼠标右键单击“数据集”,然后选择“新建关节数据集” 2-对单元格1和单元格2使用“数据”项,这将允许您使用“聚合”项对“数据”项中的值进行求和或其他操作

在具有“动态文本”的报表项调色板中
“我下面的答案对你不起作用有什么原因吗?”詹姆斯·詹金斯,我无法将我的输出绑定到绑定,因为这可能是不同数据集组合的结果。我无法更改我的sql。所以我用了scriptinfg。当计算销售时,他们将结果放入一个变量中,在呈现最后一个单元格时聚合变量。只需从“动态文本”中复制代码并将其粘贴到新的“数据”项中即可。然后就可以进行绑定了。