Java 使用JS以编程方式向BIRT中的表添加排序条件

Java 使用JS以编程方式向BIRT中的表添加排序条件,java,javascript,reporting,birt,Java,Javascript,Reporting,Birt,我正在尝试编写一些简化表排序的脚本,并且已经非常接近了,但是现在我想知道我是否发现了一个bug…或者只是误解了限制 因此,我的相关代码: var reportRunnable = reportContext.getReportRunnable(); var reportDesign = reportRunnable.getDesignInstance(); var table = reportDesign.getTable(tableName); var sortCondition = org

我正在尝试编写一些简化表排序的脚本,并且已经非常接近了,但是现在我想知道我是否发现了一个bug…或者只是误解了限制

因此,我的相关代码:

var reportRunnable = reportContext.getReportRunnable();
var reportDesign = reportRunnable.getDesignInstance();
var table = reportDesign.getTable(tableName);

var sortCondition = org.eclipse.birt.report.engine.api.script.element.StructureScriptAPIFactory.createSortCondition();      
sortCondition.setKey("row[\"" + columnKey + "\"]");
sortCondition.setDirection("desc");

table.removeSortConditions();
table.addSortCondition(sortCondition);
我在类列表的第164行得到一个NullPointerException: org.eclipse.birt.report.engine.script.internal.element.Listing,在方法removeSortConditions中

((org.eclipse.birt.report.model.api.simpleapi.IListing) designElementImpl).removeSortConditions();
因此,上面的说明“designElementImpl”为空,在进一步查看源代码后,它似乎暗示要实例化“table”对象,使用了以下构造函数:

public Table( TableHandle table );
向上移动超类的继承权,这意味着在DesignElement的构造函数中,以下内容返回null:

designElementImpl = SimpleElementFactory.getInstance( ).getElement(handle);
有人有什么想法吗?难道我就是不知道我想做什么吗

提前谢谢


编辑:可能应该添加;我使用的是BIRT 2.5.1。

我想我现在已经对它进行了排序……我创建了一个没有库依赖项的[更简单的]新报告,并且排序现在工作正常

我也在另一个论坛上发了帖子,所以如果有人想了解更多细节,请参阅


干杯。

我想我现在已经整理好了……我创建了一个没有库依赖项的[更简单的]新报告,排序现在正常工作了

我也在另一个论坛上发了帖子,所以如果有人想了解更多细节,请参阅

干杯