- 浏览: 238220 次
- 性别:
- 来自: 山西
文章分类
最新评论
-
jy00509336:
wgrmmtmr 写道let g:miniBufExplMap ...
用Gvim建立IDE编程环境 (Windows篇) -
wgrmmtmr:
let g:miniBufExplMapWindowsNavV ...
用Gvim建立IDE编程环境 (Windows篇) -
jy00509336:
avi9111 写道还是同样问题,你这个代码ctrl+c和ct ...
JTextField只允许输入数字和字母 -
avi9111:
还是同样问题,
你这个代码
ctrl+c和ctrl+v粘贴 ...
JTextField只允许输入数字和字母 -
jy00509336:
ILoveDOUZHOU 写道windows下为什么使用vim ...
用Gvim建立IDE编程环境 (Windows篇)
转载自:http://www.blogjava.net/bulktree/archive/2008/12/12/245963.html 继上篇bean数据源,如果我们自己定义自己的数据源该如何去写呢?
jasperReport提供了很多的便利去实现自己的DataSource,简单的有三种方式:
直接实现bean的方式 bean工厂 表格模型
还是使用前面的person.jasper文件,和Person.java VO类
此种方式需要实现JRDataSource接口,定义一个二维对象数组用来存放数据,通过遍历数组的数据实现getFieldValue()和next()方法
PersonDataSource.java
import javax.activation.DataSource;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
/**
*
* @author bulktree Email: laoshulin@gmail.com @ Nov 7, 2008
*/
public class PersonDataSource implements JRDataSource {
public PersonDataSource() {
}
private Object[][] data = {
{ "001", "bulktree1", "Man1", "21", "001111", "IsoftStone1" },
{ "002", "bulktree2", "Man2", "22", "002222", "IsoftStone2" },
{ "003", "bulktree3", "Man3", "23", "003333", "IsoftStone3" },
{ "004", "bulktree4", "Man4", "24", "004444", "IsoftStone4" },
{ "005", "bulktree5", "Man5", "25", "005555", "IsoftStone5" },
{ "006", "bulktree6", "Man6", "26", "006666", "IsoftStone6" },
{ "007", "bulktree7", "Man7", "27", "007777", "IsoftStone7" },
{ "008", "bulktree8", "Man8", "28", "008888", "IsoftStone8" },
{ "009", "bulktree9", "Man9", "29", "009999", "IsoftStone9" },
{ "001", "oakertree1", "Man1", "21", "001111", "IsoftStone1" },
{ "002", "oakertree2", "Man2", "22", "002222", "IsoftStone2" },
{ "003", "oakertree3", "Man3", "23", "003333", "IsoftStone3" },
{ "004", "oakertree4", "Man4", "24", "004444", "IsoftStone4" },
{ "005", "oakertree5", "Man5", "25", "005555", "IsoftStone5" },
{ "006", "oakertree6", "Man6", "26", "006666", "IsoftStone6" },
{ "007", "oakertree7", "Man7", "27", "007777", "IsoftStone7" },
{ "008", "oakertree8", "Man8", "28", "008888", "IsoftStone8" },
{ "009", "oakertree9", "Man9", "29", "009999", "IsoftStone9" },
{ "001", "laoshulin1", "Man1", "21", "001111", "IsoftStone1" },
{ "002", "laoshulin2", "Man2", "22", "002222", "IsoftStone2" },
{ "003", "laoshulin3", "Man3", "23", "003333", "IsoftStone3" },
{ "004", "laoshulin4", "Man4", "24", "004444", "IsoftStone4" },
{ "005", "laoshulin5", "Man5", "25", "005555", "IsoftStone5" },
{ "006", "laoshulin6", "Man6", "26", "006666", "IsoftStone6" },
{ "007", "laoshulin7", "Man7", "27", "007777", "IsoftStone7" },
{ "008", "laoshulin8", "Man8", "28", "008888", "IsoftStone8" },
{ "009", "laoshulin9", "Man9", "29", "009999", "IsoftStone9" } };
private int index = -1;
public Object getFieldValue(JRField jrField) throws JRException {
Object value = null;
String fieldName = jrField.getName();
if ("pid".equals(fieldName)) {
value = data[index][0];
}
if ("name".equals(fieldName)) {
value = data[index][1];
}
if ("sex".equals(fieldName)) {
value = data[index][2];
}
if ("age".equals(fieldName)) {
value = data[index][3];
}
if ("password".equals(fieldName)) {
value = data[index][4];
}
if ("department".equals(fieldName)) {
value = data[index][5];
}
return value;
}
public boolean next() throws JRException {
index++;
return (index < data.length);
}
}
这个和遍历数据库Result的游标是一样的道理,刚开始的时候是指向第一条数据的前面,next一下才会指向第一条数据,相信这个不是很难懂吧!通过以下语句产生 JasperPrint对象
getReportParameter(), personDataSource);
bean工厂:
此种方式不需要实现JRDataSource接口,定义bean数组存放数据,只需要简单的提供两个方法即可:返回一个对象数组和返回一个bean集合
PersonBeanFactory.java代码如下:
import java.util.Arrays;
import java.util.Collection;
/**
*
* @author bulktree Email: laoshulin@gmail.com @ Nov 7, 2008
*/
public class PersonBeanFactory {
private static Person[] data = {
new Person("001", "bulktree1", "Man1", "21", "001111", "IsoftStone1"),
new Person("002", "bulktree2", "Man2", "22", "002222", "IsoftStone2"),
new Person("003", "bulktree3", "Man3", "23", "003333", "IsoftStone3"),
new Person("004", "bulktree4", "Man4", "24", "004444", "IsoftStone4"),
new Person("005", "bulktree5", "Man5", "25", "005555", "IsoftStone5"),
new Person("006", "bulktree6", "Man6", "26", "006666", "IsoftStone6"),
new Person("007", "bulktree7", "Man7", "27", "007777", "IsoftStone7"),
new Person("008", "bulktree8", "Man8", "28", "008888", "IsoftStone8"),
new Person("009", "bulktree9", "Man9", "29", "009999", "IsoftStone9"),
new Person("001", "oakertree1", "Man1", "21", "001111", "IsoftStone1"),
new Person("002", "oakertree2",
发表评论
-
禁用JavaWeb应用中URL上包含的jsessionid
2014-03-21 13:02 1529Java Web 应用似乎总有这样的情况,有事没事总是要在 ... -
java操作保存图片到oracle数据库及获取图片到页面显示
2014-03-21 13:00 1337《--------保存图片到数 ... -
jsp页面通过java调用oracle blob字段显示图片
2014-03-21 12:58 1039转载自:http://blog.csdn.net/javad ... -
正则表达式中在多个匹配的内容中间加字符
2014-03-04 21:35 839selectedText = selectedText.rep ... -
ServletFileUpload parseRequest异常处理
2013-07-16 17:31 1650今天在linux服务器上发布程序后,上传图片处理异常,详情如 ... -
log4j时区设置
2013-03-21 17:23 32082013年3月19日更新程序后,服务器上的码表一直加载不上, ... -
JDBC连接报ORA-12505,sid无法找到
2013-02-06 11:10 3581转载自:http://www.calcprofit.com/ ... -
Javascript网页打印大全
2012-10-11 09:21 1262转载自:http://www.cnblogs.com/gaku ... -
Servlet编程之用Servlet显示图片
2012-09-04 21:38 1199转载自:http://developer.51cto.com/ ... -
tomcat JNDI 连接池
2012-08-02 10:59 953一.在tomcat_home/common/lib下放入 ... -
JTextArea->JTextPane 解决文字对齐方式的问题
2012-04-09 15:08 4127转载自:http://www.blogjava.net/cer ... -
jquery下json数组的操作用法实例
2011-08-13 10:51 3172转载自:http://blog.csdn.ne ... -
能盖住Select的Div
2011-07-15 23:16 920<html> <head> ... -
jQuery.extend 函数详解
2011-07-11 10:12 894转载自:http://www.cnblogs.com/Ra ... -
利用js获取服务器时间的两个简单方法
2011-07-08 14:57 1562有时用js来获取服务器时间。一般会用System.DateTi ... -
jQuery获取表单项目以及AJAX应用
2011-07-07 09:28 1094转载自:http://www.tsingfeng.com/?p ... -
velocity date.format
2011-06-27 19:39 4066Today's date is: $dateT ... -
Java中修改derby.log文件的路径
2011-04-29 15:26 2093项目中用到derby嵌入式数据库。可是其log文件derby. ... -
socket, nio socket 及nio socket框架MINA总结
2011-04-07 16:55 1161来源:http://blog.csdn.net/lcllc ... -
PreparedStatement 数据大小超出此类型的最大值
2011-03-04 11:17 1907转载自:http://heath-derek.iteye.co ...
相关推荐
iReport+JasperReport柱状图 iReport+JasperReport柱状图 iReport+JasperReport柱状图
iReport+jasperReport之客户端打印 数字签名
iReport+JasperReport教材两本以及demo
ireport4.1+jasperReport4.5+Swing总结.doc
详细介绍了如何利用ireport+jasperreport柱状图例子,并附有代码,参照实例,手把手教你用该解决方案作柱状图。
Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题
看看代码你就知道报表开发有多简单。由于jar包太多,所以没有附带,你可以安装ireport3.0.0后,ireport安装目录下的lib文件下的jar包就是本实例的jar包,但是struts的包需要你自己加入。
ireport+jasperreport一个小例子
使用ireport和struts2进行报表...java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习报表的作参考。没分了,收个友情分1分,勿怪。
很好的ireport入门指导资料
50.iReport中的子报表如何实现根据其上部是否有打印数据而变打印位置? 49.iReport中当单元格中的文字出现换行跨页的情况,如何保证换行的字段能够正常显示,并且保证换行后同行的高度保持一致? 48.内嵌函数的使用 ...
里面有多个文档,帮助您快速开发报表,从简单到复杂
Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题
该工程下有ssh所需jar包,hicharts报表导出功能所需jar包,以及Jasperreport报表导出所需的jar包,主要是利用Jasperreport实现报表导出功能,可以完整跑通
Struts2.0+JasperReport+IReport+Oracle 报表开发整个项目打包上传,用MyEclipse导入即可调试使用含报表文件、数据库表结构及测试数据,项目中解决了PDF中文
jasperreport+ireport+jfreechart文档及代码1 jasperreport+ireport+jfreechart文档及代码1 jasperreport+ireport+jfreechart文档及代码1
Ireport4.0.2+jasperReport4.0.2整合 的开发工具 用于strust2的完美结合 生成任何格式的报表(pdf、xml、xls、html)。。。。。。本人已实现
Ireport4.0.2+jasperReport4.0.2整合 的开发工具 用于strust2的完美结合 生成任何格式的报表(pdf、xml、xls、html)。。。。。。本人已实现
Ireport4.0.2+jasperReport4.0.2整合 的开发工具 用于strust2的完美结合 生成任何格式的报表(pdf、xml、xls、html)。。。。。。本人已实现
Ireport4.0.2+jasperReport4.0.2整合 的开发工具 用于strust2的完美结合 生成任何格式的报表(pdf、xml、xls、html)。。。。。。本人已实现