JasperReports在没有任何dataSource的情况下在JRXML中嵌入数据

时间:2013-04-17 06:53:46

标签: jasper-reports

我想在没有任何dataSource的情况下将数据嵌入到报告模板(jrxml)中。我想在jrxml中静态写入我的数据,并显示包含此数据的表。这真的有可能吗?

1 个答案:

答案 0 :(得分:3)

您可以拥有一个列表变量,并使用Java类将数据存储在其中。

  1. 使用变量类列表或集合创建变量。
  2. 在变量表达式中输入返回列表的Java方法。
  3. 如果你使用groovy同样的东西可以实现Groovy Collection。如果您想了解groovy collections,请参阅以下内容。

    例如:

    在报告中添加参数/变量

    <parameter name="list_collect" class="java.util.List" isForPrompting="false">
      <defaultValueExpression><![CDATA[(new beandatasource()).OnFlyCollection()]]>                    </defaultValueExpression>
    </parameter>
    

    和Java类

    package beandatasource;
    
    import java.util.ArrayList;
    
    public class OnFlyCollection {
    
        public ArrayList<String> ListCollect() {
    
            ArrayList<String> arr_list = new ArrayList<String>();
            arr_list.add("A");
            arr_list.add("B");
            arr_list.add("C");
    
            return arr_list;
        }
    }