第1章 初识JasperReports 1
1.1 JasperReports的基础知识 1
1.2 第1个JasperReports打印示例——中文静态文本 2
1.2.1 创建模板文件 2
1.2.2 在Web项目中以PDF文件显示出来 8
1.2.3 利用程序将.jrxml导出为.jasper文件并用PDF显示 13
1.3 填充报表数据——使用Map参数 15
1.3.1 新建报表模板文件 15
1.3.2 创建传递参数的Servlet对象 17
1.3.3 显示效果 19
1.3.4 打印List中Userinfo.java实体类示例 20
1.4 填充报表数据——使用JDBC向导作为数据源 23
1.4.1 新建报表JDBC数据源 23
1.4.2 新建报表模板文件 24
1.4.3 设计报表 26
1.5 使用向导分组显示数据 29
1.6 在iReport中使用表达式Expression 32
1.7 将报表导出为PDF文件 34
1.8 报表的常用属性 38
1.8.1 分栏分列的效果 39
1.8.2 Title和Summary在单独的页面打印 41
1.8.3 多列横向与纵向排序打印效果 42
1.8.4 Summary with Page Header and Footer属性 43
1.8.5 Float column footer属性 45
1.8.6 When No Data属性 47
1.9 各个Band存在数据时的打印效果 50
第2章 控件 54
2.1 控件的常用知识 54
2.2 控件的对齐 57
2.3 控件的常用属性 64
2.3.1 Forecolor、Backcolor、Opaque属性 64
2.3.2 Blank When Null属性 65
2.3.3 Position Type属性 67
2.3.4 Stretch Type属性 74
2.3.5 Print Repeated Values属性 81
2.3.6 Remove line when blank属性 83
2.3.7 Print In First Whole Band属性 84
2.3.8 Print When Detail Overflows属性 86
2.4 控件的使用方法 88
2.4.1 形状控件 88
2.4.2 Image控件 89
2.4.3 Image控件 97
2.4.4 文本控件 106
第3章 Fields、Parameters、Variables对象及Group分组 109
3.1 Fields对象的使用 109
3.1.1 使用Text Field控件显示数据表字段值 110
3.1.2 使用Fields结合JDBC的Connection对象显示值 112
3.1.3 使用Fields对象显示Java集合中实体类的属性值 113
3.2 Parameters对象的使用 115
3.2.1 使用Parameters动态生成userid值 116
3.2.2 使用Parameters动态生成Date区间的测试 118
3.2.3 使用Parameters动态生成where语句 121
3.2.4 使用Parameters对象实现SQL的IN及NOTIN查询 123
3.3 Variables对象的使用 125
3.3.1 Calculation属性 127
3.3.2 Evaluation Time属性 132
3.3.3 Increment type属性 137
3.4 Group分组的使用 144
3.4.1 Group分组的使用方法 144
3.4.2 Group分组的常用属性 149
3.4.3 Group分组中的Print When Group Changes属性 154
3.4.4 Group分组中的Reset type属性 157
3.5 常用小实验 163
3.5.1 实验1 163
3.5.2 实验2 165
3.5.3 实验3 167
3.5.4 实验4 172
3.5.5 实验5 173
3.5.6 实验6 174
3.5.7 实验7 175
3.5.8 实验8 176
第4章 字体Font、样式Style及模板Templates 179
4.1 字体Font 179
4.1.1 使用自带字体 180
4.1.2 使用第三方字体 181
4.2 样式Style 186
4.2.1 创建样式Style 186
4.2.2 创建条件样式Conditional Style 188
4.2.3 创建通用样式Style 191
4.3 模板Templates 194
第5章 子报表Subreport 197
5.1 子报表Subreport的基础知识 197
5.1.1 子报表Subreport的.jasper文件来源 198
5.1.2 子报表Subreport的示例——静态文本 199
5.1.3 子报表Subreport的示例——动态数据JDBC 207
5.1.4 子报表Subreport的示例——打印实体类中的List〈Userinfo〉 216
5.2 子报表Subreport的参数传递 221
5.2.1 从Servlet传递一个Map类型的参数到子报表 221
5.2.2 对表达式进行计算后再传入子报表 225
5.2.3 对子报表传递List〈Userinfo〉数据源 226
5.2.4 示例:从主报表中取得子报表返回的参数值 230
第6章 图表Chart 238
6.1 图表Chart的使用——饼状图 238
6.1.1 新建JavaBean数据源的报表模板 238
6.1.2 配置Chart 239
6.1.3 创建Servlet对象 241
6.1.4 运行效果 242
6.1.5 图表Chart的常用属性——饼状图 242
6.1.6 图表Chart的常用选项——饼状图 248
6.2 图表Chart的使用——柱状图 266
6.2.1 使用柱状图显示报表 266
6.2.2 图表Chart的常用属性——柱状图 269
6.3 Chart图表的使用——曲线图 280
6.3.1 使用JDBC数据源 280
6.3.2 使用JavaBean数据源 281
6.4 在图表Chart中添加超链接 284
6.5 在图表Chart中使用皮肤Themes 288
第7章 数据集Dataset、List控件及Table控件 292
7.1 数据集Dataset 292
7.1.1 创建核心Servlet 293
7.1.2 创建报表模板 294
7.1.3 创建Dataset数据集 294
7.1.4 配置Dataset数据集 295
7.1.5 关联Dataset数据集 297
7.2 List控件 299
7.3 Table控件 303
7.3.1 使用Table控件 303
7.3.2 合并单元格 309
7.3.3 使用JavaBean作为报表的数据源 311
第8章 实用技巧 317
8.1 导出各种文件格式 317
8.1.1 导出.xls文件 323
8.1.2 导出PDF文件 328
8.1.3 导出DOC文件 330
8.1.4 导出HTML文件 331
8.2 取消报表分页 339
8.3 实现当前页/总页数的效果 339
8.4 巧用Text Field控件的Borders属性 340
8.5 一次输出多个报表 342
8.6 静态文本多行显示 345
8.7 设计带边框的表格 346