package com.icetree.datasource;
import java.util.Iterator;
import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
public class CommonQueryResultDataSource implements JRDataSource {
private String[] fields;
private Iterator iterator;
private Object currentValue;
public CommonQueryResultDataSource(List list, String[] fields) {
this.fields = fields;
this.iterator = list.iterator();
}
public Object getFieldValue(JRField field) throws JRException {
Object value = null;
String fieldName = field.getName();
int index = getFieldIndex(fieldName);
if (index > -1) {
Object[] values = (Object[]) currentValue;
value = values[index];
}
return value;
}
public boolean next() throws JRException {
currentValue = iterator.hasNext() ? iterator.next() : null;
return (currentValue != null);
}
private int getFieldIndex(String field) {
int index = -1;
for (int i = 0; i < fields.length; i++) {
if (fields[i].equals(field)) {
index = i;
break;
}
}
return index;
}
}
分享到:
相关推荐
同时,对于 Java 开发者来说,理解如何与数据库交互、如何处理 Java 对象和 List 数据源,是提高 jasperreports 报表开发效率的关键。不断实践和深入学习,你将能熟练运用 jasperreports 创建出满足需求的复杂报表。
- 详述了JasperReports支持的各种数据源。 - 包括JDBC、JavaBeans、Map-based、TableModel、XML、CSV和空数据源等。 以上内容涵盖了从安装到最终生成报表的整个流程,为初学者提供了全面的指导,并为有经验的...
JasperReports的主要特点在于其灵活性和可扩展性,支持多种数据源,包括数据库连接、XML数据、Java对象等。 2. **版本6.3.0特性** - **性能优化**:6.3.0版本对报表渲染和数据处理进行了优化,提高了大型报表的...
4. 数据源:报表设计还需要指定数据来源,通常是数据库,但也可以是其他类型的数据源,如CSV文件或Java集合。 报表设计通常使用XML文件定义,其结构遵循JasperReports特定的DTD(Document Type Definition)。DTD是...
通用数据查询与报表打印系统开源源码是一种基于编程技术实现的数据管理和分析工具,它允许用户进行自定义的数据查询以及报表的生成和打印。这个系统的核心功能在于提供灵活的数据操作接口和强大的报表设计能力,通常...
- **多数据源支持**:包括JDBC数据库连接、XML文件、CSV文件以及JavaBeans等。 - **高级报表设计**:支持复杂的分组、排序、过滤等功能。 - **国际化支持**:允许报表以多种语言展示,并支持不同的日期、货币格式等...
- iReport提供了一些工具,可以帮助用户实现自定义的数据源。 - 例如,可以通过编写Java代码来实现更复杂的功能。 **JavaBeanExtended数据源:** - JavaBeanExtended数据源是对JavaBean数据源的一种扩展。 - 它...
- 它允许用户通过拖放操作创建报表布局,并且支持多种数据源。 ##### 1.2 功能特点: - 支持多种数据源,包括 JDBC 数据库、XML 和 CSV 文件等。 - 可以生成各种类型的报表,如简单报表、分组报表、交叉表等。 - ...
通过定义模板,JasperReports可以动态地结合数据源生成报表,提供丰富的样式和布局选项。 2. **iReport**: iReport是JasperReports的可视化设计工具,允许开发者通过图形化界面设计报表模板。用户可以拖放字段,...
自定义数据源可以通过实现JRDataSource接口来实现。 6. **子报表**: 子报表是嵌套在主报表中的独立报表,用于显示更复杂的数据结构。它们可以有自己的数据源和参数传递机制,也可以返回值给父报表。 7. **国际化...
iReport是用于设计JasperReports报表的IDE,支持多种数据源,包括JDBC、JavaBeans、XML等。它允许用户通过拖放方式创建报表元素,如表格、图表、图像等,并提供了丰富的样式和格式选项。 2. **功能特点** - **...
- 实现自定义数据源。 - JavaBean数据源示例。 - XML数据源示例。 - **实现新的JRDataSource**: - 自定义数据源类。 - 集成到iReport。 #### 十一、国际化 - **ResourceBundleBaseName**: - 资源文件命名...
- **强大的功能集**:支持各种数据源(如数据库、XML文件等),并提供了丰富的元素和组件来实现复杂的数据展示需求。 - **多语言支持**:支持多种表达式语言,如Java、Groovy和JavaScript,用于计算和处理数据。 - *...
它的主要功能包括设计自定义报表模板、数据源配置、参数化报告以及复杂的计算和条件表达式。 【压缩包子文件的文件名称列表】:“lib”目录通常包含了运行iReport所需的Java类库(jar文件)。这些jar文件可能包含了...
在报表设计过程中,iReport允许用户添加各种元素,包括文本、图像、表格、图表等,并可以设置数据源、字段映射、样式和表达式。通过调用Java代码,可以实现更复杂的数据处理和逻辑控制,例如在报表中嵌入动态计算...
- 支持多种数据源,如JDBC、XML、CSV等。 - **iReport社区**: 存在一个活跃的开发者社区,提供支持和资源分享。 #### 二、iReport安装与配置 - **必要条件**: - Java环境。 - 开发工具或IDE。 - 数据库访问权限...
- **多数据源支持**:包括空数据源、数据库数据源、XML数据源及自定义数据源。 - **多种导出格式**:如PDF、HTML、Excel、CSV和XML等。 - **丰富的对象类型**:如文本、图像、椭圆、线条、矩形等。 - **高级特性**:...
1. **打开连接管理器**: 通过菜单栏的“数据源”选项打开“连接/数据源”对话框。 2. **新建数据源**: 在对话框中点击“新建”按钮,选择“数据库JDBC连接”作为连接类型。 3. **配置连接属性**: 输入数据库服务器的...
IReport是一款强大的开源报表设计工具,专为开发人员和业务分析师设计,用于创建复杂的报表并利用JasperReports库在各种Java应用程序中实现报表展示。这款工具完全由符合GNU通用公共许可(GPL)的纯Java编写,确保了...
SpringBoot默认集成了Spring Web模块,但为了实现报表功能,我们还需要添加如Apache POI(用于处理Microsoft Office格式)、iText(用于PDF处理)和JasperReports(用于报表设计)等库。在`pom.xml`文件中添加对应的...