0

我想通过单元格的脚本将动态文本框插入表格中的单元格。我在文档和 SO 中进行了搜索,但我发现的只是如何将文本插入动态文本,而不是动态文本框本身。

这可能吗,怎么做?

另外,是否可以在数据集的动态文本内的这个位置添加数据?

编辑

到目前为止我所尝试的:在此处使用嵌套循环时出错:您能帮助理解它为什么会出错吗?TypeError:无法调用 null 的方法“getCells”虽然输出符合预期。

importPackage( Packages.org.eclipse.birt.report.model.api );
elementFactory = reportContext.getDesignHandle().getElementFactory()
var mytable = reportContext.getDesignHandle().findElement("tblC");


//var mydetail =  mytable.getDetail( ).get( 0);

for ( var i=1;i<23;i++){
for (var j=1;j<13;j++){
//get first detail row
mydetail =  mytable.getDetail( ).get(i);
//get first column 
var tcell = mydetail.getCells( ).get( j );

var mylabel = elementFactory.newLabel( null );
mylabel.setText( "hello" );
tcell.getContent( ).add( mylabel );
}
}

4

1 回答 1

1

beforeFactory如果使用 DE API 进行报告,这是可能的。

在根据条件对颜色单元格的回答中,我描述了如何修改现有元素,但也可以插入元素。

请注意,在 DE API 描述中甚至还有一个示例如何通过脚本从头开始创建新的报告设计。

可以通过在事件中使用importPackageetc从报告设计中访问 DE API。beforeFactory

结合这些参考资料,您应该能够做您想做的事。

于 2020-11-09T07:13:47.533 回答