一、参数级联查询

一般情况下,多是使用下拉框直接查询报表记录。但有时会涉及到多级级联关系的参数查询,如利用省市区三级级联查询:

首先,需要找出三级级联的关系;然后,创建三个下拉框;最后,使用三级参数查询报表。

1、创建好需要的数据表:表很重要

省市区对应的父子关系表:

具体使用到关联省市区表的业务信息表: 测试简单创建的表

DROP TABLE IF EXISTS `t_project`;
CREATE TABLE `t_project` (`id` int(11) NOT NULL,`name` varchar(200) DEFAULT NULL,`provice_city_county_id` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of t_project
-- ----------------------------
INSERT INTO `t_project` VALUES ('1001', '陕西-省内项目', '3');
INSERT INTO `t_project` VALUES ('1002', '陕西西安-市内项目', '8');
INSERT INTO `t_project` VALUES ('1003', '陕西西安-长安区内项目', '16');
INSERT INTO `t_project` VALUES ('1004', '陕西西安-碑林区内项目', '17');
INSERT INTO `t_project` VALUES ('1005', '陕西西安-长安区内项目', '16');
INSERT INTO `t_project` VALUES ('1006', '陕西渭南-市内项目', '9');
INSERT INTO `t_project` VALUES ('1007', '安徽-省内项目', '2');
INSERT INTO `t_project` VALUES ('1008', '安徽-省内项目', '2');
INSERT INTO `t_project` VALUES ('1009', '安徽芜湖-市内项目', '7');
INSERT INTO `t_project` VALUES ('1010', '安徽芜湖-市内项目', '7');
INSERT INTO `t_project` VALUES ('1011', '浙江-省内项目', '1');
INSERT INTO `t_project` VALUES ('1012', '浙江-省内项目', '1');
INSERT INTO `t_project` VALUES ('1013', '浙江-省内项目', '1');
INSERT INTO `t_project` VALUES ('1014', '浙江杭州-市内项目', '4');
INSERT INTO `t_project` VALUES ('1015', '浙江杭州-市内项目', '4');
INSERT INTO `t_project` VALUES ('1016', '浙江杭州-西湖区内项目', '10');
INSERT INTO `t_project` VALUES ('1017', '浙江杭州-滨江区内项目', '11');
INSERT INTO `t_project` VALUES ('1018', '浙江杭州-萧山区内项目', '12');-- ----------------------------
-- Table structure for `t_provice_city_county`
-- ----------------------------
DROP TABLE IF EXISTS `t_provice_city_county`;
CREATE TABLE `t_provice_city_county` (`id` bigint(10) NOT NULL AUTO_INCREMENT,`parentid` bigint(10) DEFAULT NULL,`name` varchar(255) DEFAULT NULL,`code` varchar(255) DEFAULT NULL,`seqno` int(11) DEFAULT NULL,`levelno` int(11) DEFAULT NULL,`decode` varchar(255) DEFAULT NULL,`description` varchar(255) DEFAULT NULL,`status` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of t_provice_city_county
-- ----------------------------
INSERT INTO `t_provice_city_county` VALUES ('1', '0', '浙江省', '', null, '1', '0_1_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('2', '0', '安徽省', '', null, '1', '0_2_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('3', '0', '陕西省', '', null, '1', '0_3_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('4', '1', '杭州市', null, null, '2', '0_1_4_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('5', '1', '嘉兴市', null, null, '2', '0_1_5_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('6', '2', '合肥市', null, null, '2', '0_2_6_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('7', '2', '芜湖市', null, null, '2', '0_2_7_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('8', '3', '西安市', null, null, '2', '0_3_8_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('9', '3', '渭南市', null, null, '2', '0_3_9_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('10', '4', '西湖区', null, null, '3', '0_1_4_10_', null, null);
INSERT INTO `t_provice_city_county` VALUES ('11', '4', '滨江区', null, null, '3', '0_1_4_11', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('12', '4', '萧山区', null, null, '3', '0_1_4_12', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('13', '5', '桐乡市', null, null, '3', '0_1_5_13_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('14', '6', '肥西县', null, null, '3', '0_2_6_14_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('15', '7', '鸠江区', null, null, '3', '0_2_7_15_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('16', '8', '长安区', null, null, '3', '0_3_8_16_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('17', '8', '碑林区', null, null, '3', '0_3_8_17_', null, '1');
INSERT INTO `t_provice_city_county` VALUES ('18', '9', '富平县', null, null, '3', '0_3_9_18_', null, '1');

    

  2、在  FineReport  创建数据集

项目测试表

SELECT t1.name projectname,t1.provice_city_county_id,t2.name t2name,t2.decode,t2.status
FROM t_project t1 left join t_provice_city_county t2 on t1.provice_city_county_id=t2.id
where1=1${if(len(省) == 0, "", "and t2.decode like '" + 省 + "%'" )}${if(len(市) == 0, "", "and t2.decode like '" + 市 + "%'" )}${if(len(区县) == 0, "", "and t2.decode like '" + 区县 + "%'" )}

然后,创建 省、市、区数据集作为 参数查询的数据字典

SELECT decode, name FROM `t_provice_city_county` where levelno=1

SELECT decode, name FROM `t_provice_city_county` where levelno=2 and
${if(len(省)>0, "decode like '"+省+"%' ", "false")}

区县

SELECT decode, name FROM `t_provice_city_county` where levelno=3 and
${if(len(市)>0, "decode like '"+市+"%' ", "false")}

3、 报表的制作

    1) 省市区三级级联关系的参数

   下图为参数省,其他同理

     2)报表展示内容:简单展示下

    

     说明一下:多级级联关系的参数查询时,前面一级没选,后面的参数都不可选。

二、树集分组序号

在上面的基础上,进行树集分组序号显示

1、再创建一个数据集用于树: 省市区表

SELECT * FROM `t_provice_city_county`

2、创建树数据集, 用到省市区表数据集的 id 和 parentid

3、报表内容进行树集分组序号展示:

1)把要展示的信息放置好:

树数据集:B4 默认,B6 左父格为B4,B8 左父格为B6。然后都设置相同形态显示
          B5-E5: 列表,左父格为B4,过滤为provice_city_county_id = B4
          B7-E7: 列表,左父格为B6,过滤为provice_city_county_id = B6
          B9-E9: 列表,左父格为B8,过滤为provice_city_county_id = B8

效果为:

2)设置分组序号和去掉空行

A4:插入公式为 numto(&B4, false),左父格为B4
           A5:条件属性 if(len(B5) > 0, seq(B4), ""),左父格为B5  
           A7:条件属性 if(len(B7) > 0, seq(B4), ""),左父格为B7
           A9:条件属性 if(len(B9) > 0, seq(B4), ""),左父格为B9  
           A6:左父格为B4  
           A8:左父格为B6
           A4-A9:扩展方向为纵向
           B5-B9:添加无数据隐藏行的条件

len($$$) = 0  //"$$$"表示当前值

    

参考文章:

隐藏行时序号不连续的解决方案

效果为:

   3)到此基本完成,根据需求添加一个求和个数

各分层级别单独求个数, 然后合计各分层级别的数量,即:项目的总数。

C3:插入公式为SUM(C4) + SUM(C6) + SUM(C8)
     C4:汇总(个数),过滤为:provice_city_county_id = B4,其他默认
     C6:汇总(个数),过滤为:provice_city_county_id = B6,其他默认
     C8:汇总(个数),过滤为:provice_city_county_id = B8,其他默认

效果为:

FineReport 参数级联查询与树集分组序号相关推荐

  1. finereport文本框如何实现多值查询_如何实现参数级联查询

    参数级联查询是查询控件之间的一种互动方式,比如在某个下拉框选定选项后,另一个下拉框里的选项范围会随之变化.润乾报表提供了多种编辑风格,每种编辑风格都有丰富的属性,以此为基础实现参数级联查询也很简单.下 ...

  2. select下拉框带模糊查询_如何实现参数级联查询

    参数级联查询是查询控件之间的一种互动方式,比如在某个下拉框选定选项后,另一个下拉框里的选项范围会随之变化.润乾报表提供了多种编辑风格,每种编辑风格都有丰富的属性,以此为基础实现参数级联查询也很简单.下 ...

  3. c3p0 参数 模糊查询_mybatis之动态sql,模糊查询,结果集处理,mybatis分页及特殊字符处理...

    目标及项目目录结构 目标 1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 项目的目录结构 1.mybatis动态sql If.trim.forea ...

  4. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====明细表、分组表、交叉表

      数据科学.管理科学系的数据大屏.数据报表.商务智能.管理信息系统等课程教学,只需简单的数据库基础,解放学生码代码的时间,用更真实的企业案例,更灵活的将思维落地.本节讲述的是通用报表的分析案例:明细 ...

  5. 【Web开发】级联查询(Ajax/ jQuery/ Servlet)

    实现级联查询 共有两个下拉框,第一级为学院,第二级为学院开设的科目. 实现的功能为:当改变学院的选择,第二级下拉框需变为对应学院开设的科目内容. 结果预览: jsp页面 <%@ page con ...

  6. mysql按照学生分组查询_将student表按照gender字段值进行分组查询,并计算每个分组中有多少名学生_学小易找答案...

    [简答题]查询student表中一共有多少条记录 [简答题]在department表和employee表之间分别使用where查询.自连接查询 [简答题]使用DESC查看学生表和班级表 [简答题]在表 ...

  7. mybatis 级联查询

    有时候我们的POJO对象经常不是一个简单的对象,往往存在着一对一或者一对多的关系.就如一个学生可以有一个班主任,有多门课程一样: public class StudentCourse {private ...

  8. 乐优商城之规格参数商品查询(十)

    文章目录 (一)规格参数表结构 (二)数据库表单分析 (三)规格参数组页面分析 (四)规格参数组查询的代码实现 (五)规格参数页面分析 (六)规格参数查询的代码实现 (七)表关系 (八)标结构场景解析 ...

  9. mysql 将查询所得结果集的某一字段拼接成字符串

    前言 mysql 5.5.40 将查询所得结果集的某一字段拼接成字符串 将菜单树的所有根节点(parent_id=0)的id拼接成字符串. sql 代码: select GROUP_CONCAT(me ...

最新文章

  1. 阿里巴巴Java开发规约插件p3c
  2. xttdbopen.sql
  3. phpcms v9网站的数据库配置文件在哪
  4. Bootstrap3 折叠插件的调用方式
  5. centOS 7镜像文件下载
  6. uniapp ---- 添加分页
  7. 《代码敲不队》第八次团队作业:Alpha冲刺 第五天
  8. Unable to locate Spring NamespaceHandler for XML schema namespace
  9. 路由器能连接到电视上看电视吗?
  10. Visio自制直角箭头
  11. 解救空间不足无法启动的白苹果iPhone5S
  12. apche服务器网站访问503错误,apache部署python程序出现503错误的解决方法
  13. 数学函数最小值为什么可以通过导数=0来求出呢?
  14. 基于奇异值分解的图像压缩和信息隐藏
  15. 【python教程】揭秘京东|淘宝秒杀抢购背后的黑幕,为什么你总抢不到商品?
  16. Linux 4.15亮点特性
  17. 单元测试利器——手把手教你使用Mockito
  18. 1药网母公司路演PPT曝光:发行区间14到16美元 中旬上市
  19. Android wifi开发包含列表获取点击连接wifi
  20. 定制开发体育指数直播APP体育指数数据API调用代码

热门文章

  1. 宇宙可能是一台计算机,科学说明一切:宇宙是一个计算机模拟?
  2. QQ“只爱陌生人”,MSN“不和陌生人说话”
  3. 极域电子教室2010版广播出现黑屏问题解决办法之一
  4. 长尾关键词 挖掘出来的长尾关键词要怎么筛选?筛选条件有哪些
  5. 无人便利店代理的系统用于其他行业是否可以
  6. JavaScrip 学习笔记
  7. 蓝桥杯集合运算问题c语言,蓝桥杯 集合运算(set)
  8. Win10 Edge 下载文件时文件名乱码 解决方案
  9. 2022中式烹调师(初级)特种作业证考试题库及答案
  10. Jaeger 详细配置