ireport初接触
我用的版本5.6.0
下载安装@参考博客龙凌云端,着重留意:在windows下使用,只下载iReport-5.6.0-windows-installer.exe就行了
安装后配置环境变量@参考博客龙凌云端,着重留意:修改iReport-5.6.0\etc 目录下的配置文件 ireport.conf,修改jdkhome="C:\Program Files\Java\jdk1.7.0_75"
java使用所需要的jar包@参考博客孙公
java传参中文不显示问题,看了一些博客没找到适合我的解决方案,最后自己发现进行如下设置就好了
list组件拉上去就不能编译,总是报异常
net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :
1. List contents width must be positive.
网上找了近一天也没找到解决方案,最后查看源码发现<jr:listContents height="50" width="0"/>,没错,新拉的list组件width为0,我把width改为正数就好了。我真应该早点看源码。。。也奉劝读到这里的读者碰到类似问题也多看看源码吧。
list使用方式:
右击Parameters——添加Parameter,改名,改类型为list或collection
拖拽list组件到需要的位置,左侧会自动生成dataset和List(component)
然后给dataset1的fields添加属性,可以手动添加,也可右击dataset1——edit Query,JavaBean Datasource,将classname的完整 Qualified Name粘贴,然后Read Attributes,选中需要添加的属性,Add selected fields,ok
当选择javabean datasource时,需提前设置class文件夹,工具——选项ireport——classpath把项目的class文件夹添加进来
然后list组件右键 edit datasource,connection/datasource exp将jremptydatasource中的值改为你的$P{你的list名
着重留意:new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{yananList}),
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource别写猜错了
然后向list框中从dataset的fields中拖入属性即可
20191209@各区块作用:
报表的结构:
各块区域------
Title----报表名,只在第一页显示
pageHeader-----放页码,时间,创建人,每一页都会显示出来
columnHeader-----列名
detail----循环的数据,比如说我们直接从数据库中得到数据,只用将字段拖到此区域,那么就会将所有的这个字段的值进行循环了。
-----需要注意的是:table中因为放了数据,也会将这些数据接着循环。到头来,本来一个table已经将数据给循环完了,但是又由于detail的循环性质,将整个table又循环了。所以table是不能放在detail中的。这回循环table。
columnFooter-----与columnHeader相反,可以用来统计此列数据。
pageFooter-------每页底部都会显示的,如页码
lastPageFooter----最后一页的底部,如日期,签名.....
Summary--------可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。 Summary只在最后一页出现。
ireport初接触的更多相关文章
- 初接触BurpLoader工具
初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...
- 软工实践练习-Git初接触
第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...
- vi初接触
vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...
- ExtJS初接触 —— 了解 Ext Core
ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...
- ExtJS初接触 - 在项目中使用ExtJS
ExtJS初接触 - 在项目中使用ExtJS 今天ExtJS官网发布了ExtJS最新正式版4.2.1.Ext JS 4.2.1 正式版 下载 ExtJS为开发者在开发富客户的B/S应用中提供丰富的UI ...
- Java之路——Java初接触
本文大纲 1.Java是什么 2.Java历史 3.Java技术范围 3.1 Java SE平台技术范围 3.2 Java EE技术范围 3.3 Java 体系技术范围 4.总结 1.Java是什么 ...
- python 之 数据类型初接触
python 之 数据类型初接触 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dicti ...
- Dapr微服务应用开发系列2:Hello World与SDK初接触
题记:上篇介绍了Dapr的环境配置,这次我们来动手尝试一下Dapr应用的开发 Hello World Dapr应用的Hello World其实和其他的Hello World一样简单: 首先用你喜欢的语 ...
- ubantu linux的bash shell初接触
本人是Linux初习者,同时也刚刚开始学习,将我的学习成长记录下来,来和大家一同分享! 我用的系统是Ubuntu 12.04,脚本编辑器用的是VIM,觉得很顺手!Shell语言用的是Bash Shel ...
随机推荐
- Java中线程池,你真的会用吗?ExecutorService ThreadPoolExcutor
原文:https://www.hollischuang.com/archives/2888 在<深入源码分析Java线程池的实现原理>这篇文章中,我们介绍过了Java中线程池的常见用法以及 ...
- PAT甲级1010踩坑记录(二分查找)——10测试点未过待更新
题目分析: 首先这题有很多的坑点,我在写完之后依旧还有第10个测试点没有通过,而且代码写的不优美比较冗长勿喷,本篇博客用于记录写这道题的一些注意点 1.关于两个不同进制的数比大小一般采用将两个数都转化 ...
- 逆向破解之160个CrackMe —— 007
CrackMe —— 007 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 【后缀表达式求解】No.3.栈-evaluate-reverse-polish-notation题解(Java版)
牛客网的题目链接 题目描述 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid opera ...
- 通过jekyll在Github 搭建个人博客
能快乐旅行的人,一定是轻装旅行的人 前言 应广大的网友(装逼~~哈哈)要求,决定写个Jekyll+Giuhub搭建博客的教程,以便帮助更多的人,毕竟我也是这么过来的.这是我的博客地址,可以先看看效果. ...
- sqlserver2005新特性介绍
1.更强的编程能力-CLR集成 增强了数据库的编程能力,将一些逻辑层(Bll)转移到数据库中,减少了网络中的数据流量,但是增加了服务器cpu的负荷,当我们需要操作大量的数据,但是产生很少的数据,把这种 ...
- CentOS7.6安装docker最新版
注意Centos7.4系统以下需要升级内核,否则会安装失败 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config ...
- Centos 6.5出现yum安装慢的情况
最近在用Centos 6.5 的时候出现了这种情况, Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirro ...
- 初学FWT(快速沃尔什变换) 一点心得
FWT能解决什么 有的时候我们会遇到要求一类卷积,如下: Ci=∑j⊕k=iAj∗Bk\large C_i=\sum_{j⊕k=i}A_j*B_kCi=j⊕k=i∑Aj∗Bk此处乘号为普通乘法 ...
- LOJ P10015 扩散 题解
每日一题 day49 打卡 Analysis 用dis数组记录每两个点之间的时间,再用一个传递闭包来维护最小的时间就好了 #include<iostream> #include<cs ...