我想知道可以使用Java外部应用程序更改iReport中字段的属性值。
例如,首先我创建一个报告名称abc.jrxml。这是abc.jrxml文件的XML代码的一部分。
<reportElement x="117" y="2" width="65" height="20" uuid="2f281676-e098-4213-b1d3-57b845960b2a"/>
我想更改这些值:x =“117”到x =“200”。 height =“20”到height =“25”。我想通过java命令尝试一下。这可能与否。如果有可能我怎么能做到。
答案 0 :(得分:2)
正如Alex K.所指出的,使用Java应用程序更改属性的最佳方法是使用Jasper Reports API创建报告。
例如在一个答案中 http://community.jaspersoft.com/questions/525188/dynamic-width-textfied-parameter在生成报告之前更改了对象的宽度:
JasperDesign design = xmlLoader.loadXML(..jrxmlStream..);
JRElement[] elements = design.getDetail().getElements();
String elementKey = ..key of element to modify..;
int newWidth = ..new element width..;
for (int i = 0; i < elements.length; i++)
{
JRDesignElement element = (JRDesignElement) elements[i];
if (elementKey.equals(element.getKey())) {
element.setWidth(newWidth);
}
}
您可以使用其他setHeight
,setX()
和setY()
来更改元素属性。
此处提供了更多信息:http://community.jaspersoft.com/wiki/jasperreports-library-reference-materials