【问题标题】:jasper reports table creationjasper 报告表创建
【发布时间】:2012-02-02 09:43:36
【问题描述】:

我想在 Jasper 报告中创建一个表格。 这可以在 iReport 中完成(并且已经完成:-)),但是表格的内容(例如列的名称)正在改变,所以我想仅从 JAVA 代码创建报告(不使用 jrxml文件)。

这怎么可能?

到目前为止,这就是我所做的(仅主要部分):

//table component
final StandardTable table = new StandardTable();
final StandardColumn col1 = new StandardColumn();    
final DesignCell col1Header = new DesignCell();
final JRDesignStaticText textElement = new JRDesignStaticText();

col1Header.addElement(textElement);
col1.setDetailCell(col1Header);
table.addColumn(col1);

/datasource
final JRDesignDatasetParameter param = new JRDesignDatasetParameter();
param.setName("REPORT_DATA_SOURCE");
final JRDesignExpression exp = new JRDesignExpression("$P{REPORT_DATA_SOURCE}");
param.setExpression(exp);

//datasetrun
final JRDesignDatasetRun drs = new JRDesignDatasetRun();
table.setDatasetRun(drs);
drs.addParameter( param );

如何继续?

谢谢你, 克丽丝

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    如果有人偶然发现同样的问题(以及将来我自己:-)),这里是如何继续上面的代码,将表格元素添加到报告的摘要中:

    //create reportElement (inside componentelement)
    JRDesignComponentElement reportElem = new JRDesignComponentElement();
    //reportElem.setKey("table");
    reportElem.setComponentKey(new ComponentKey("http://jasperreports.sourceforge.net/jasperreports/components", "jr", "table"));
    reportElem.setComponent(table);
    reportElem.setHeight(100);
    reportElem.setWidth(100);
    
    //add to summary
    jRSummary.addElement(reportElem);
    

    (困难的部分是找出如何创建 ComponentKey 对象)

    注意:为了使用表格,还需要创建子数据集元素。

    【讨论】:

    • 您能解释一下为什么使用“jr”吗?我创建的 HtmlComponent 与您创建 componentKey 所需的相同。我收到以下错误No component manager found for name htmlComponent, namespace http://jasperreports.sourceforge.net/htmlcomponent
    【解决方案2】:

    对于 htmlComponent,ComponentKey 应该是:

    new ComponentKey("http://jasperreports.sourceforge.net/htmlcomponent", "jr", "html");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多