首页 > 其他分享 >FineReport11 报表技巧02- 实现类Excel表头筛选功能

FineReport11 报表技巧02- 实现类Excel表头筛选功能

时间:2024-04-19 23:55:39浏览次数:14  
标签:02 控件 产品 Excel 表头 下单 筛选

背景:

在报表开发中,有的需求方用习惯Excel的表头筛选时,就不太习惯帆软的特意点击报表控件进行筛选,希望报表筛选方式可以类似Excel那种直接在表头进行筛选的功能
最终效果如下:

实现步骤:

1.1、数据集准备
产品信息表:

SELECT 客户,产品,数量,cast(下单时间 as date) as 下单时间,下单用户 FROM `下单记录表`
where 1=1
${if(len(产品)==0,"","and 产品 in ('"+产品+"')")}
${if(len(下单时间)==0,"","and cast(下单时间 as date) in ('"+下单时间+"')")}

需要对产品进行筛选,所以需要产品维度表:
SELECT distinct 产品 FROM 下单记录表``

1.2、填充表内容
表头内容为:客户名、产品、数量、下单时间,并将数据表内字段拉至对应表头下一行进行数据填充

1.3、设置产品控件
控件类型为下拉框复选控件,内容来源数据字典:产品表产品字段,注意因为是多选控件,返回值类型的分隔符一定要改成','

此时预览报表效果如下:

1.4、新增列控件
在“产品”列后新增一列,并选中新增列表头,选择新增下拉复选框控件,将产品查询加至数据字典中,同时合并B2、C2两个单元格

1.5、新增编辑结束事件
我们点击选择单元格控件的值后,是需要将该值传递给上一步中配置的参数栏控件,然后进行参数查询,所以我们需要给单元格中的控件增加一个编辑结束事件

// 将控件的值传递给参数控件。
_g().getParameterContainer().getWidgetByName("产品").setValue(this.getValue());
// 提交参数查询
_g().parameterCommit();

1.6、进行填报页面设置
进入模板Web属性-填报页面设置-关闭未提交离开提示-打开直接显示控件-关闭使用工具栏

预览方式改为“填报预览”进行效果预览,此时效果如下,可以看到产品表头旁倒三角标可点击进行产品筛选:

1.7、美观完善
截至此步已经实现类似Excel那种直接在表头进行筛选的功能,为了观感更好,需要进行以下操作:
①、去除控件的边框
②、去除input边框并将其宽度设置为0进行隐藏
③、将表格区域提到页面顶部,并动态调整其高度
④、将参数栏隐藏
⑤、调整控件下拉按钮背景
⑥、将对应参数控件的值赋值给下控件所在单元格
⑦、去除左上角红色角标
进入模板Web属性-填报页面设置-添加事件-添加加载结束后事件

具体脚本及解释如下:

// 去除控件的边框
$(".fr-trigger-btn-up").css("border", "none");
// 去除input边框并将其宽度设置为0进行隐藏
$(".fr-trigger-text.fr-border-box").css({ "border": "none", "width": "0px" });
// 判断表格区域的高度加上参数栏高度是否大于浏览器高度
if ($(".content-container").height() + $(".parameter-container").height() <= window.innerHeight) {
  // 将表格区域提到页面顶部,并动态调整其高度
  $(".content-container").css({ "top": "0px", "height": $(".content-container").height() + $(".parameter-container").height() + "px" });
  $("#frozen-center").css({ "height": $("#frozen-center").height() + $(".parameter-container").height() + "px" });
}
// 将参数栏隐藏
//$(".parameter-container").hide();
// 调整控件下拉按钮背景
$(".fr-trigger-btn-up").css("background", "none");
// 将对应参数控件的值赋值给下控件所在单元格
_g().setCellValue("C1", _g().getParameterContainer().getWidgetByName("产品").getValue());
// 去除左上角红色角标
$(".dirty").removeClass("dirty");

至此,实现效果。

标签:02,控件,产品,Excel,表头,下单,筛选
From: https://www.cnblogs.com/xuy1166/p/18147026

相关文章

  • 20240419
    T1NFLSOJP3581Nomorexorproblems,please!实际上是异或和是最小公倍数的倍数。我们知道异或的结果二进制位数小于等于原来的。如果两个数没有倍数关系,则其最小公倍数一定不整除其异或和,因为最小公倍数的二进制位数至少多\(1\)。所以合法的子集要么异或和为\(0\),要么一个......
  • P321. [NOI2002]荒岛野人Savage题解?!!!
    还是我容易(☚xzz说的)想出,x年后i号野人的位置为:\((C_i+P_i*x)\modm\)我们只要让任意方程:\((C_i+P_i*x)\modm=(C_j+P_j*x)\modm\)解小于\(L_i\)或小于\(L_j\)即可推式子!\[(C_i+P_i*x)≡(C_j+P_j*x)\(mod~m)\\⇿x*(P_i-P_j)+y*m=C_j-C_i\]然后就是拓展欧几里得模板了。......
  • 2024/4/19日团队开发
    讨论:1、产品的运行以及功能​ 具体要做的可以让玩家体验一些事情或讲述一些事情,然后从他所做或者所选答案方向来评判这个人的得分,直接答题效果不太好。​ 基本完成网络安全测评以及人文科技体验,有时间尽量完成一下心理健康测评。​ 手机号登录注册,以及测评结果通过信息发送......
  • 题解:CSP-S2020] 函数调用
    题解:CSP-S2020]函数调用一句话题意:给定一个有初始值的序列,支持如下三种操作:1、单点加2、全局乘3、递归某些操作1、2、3求最终的序列。标签:topsort,动态规划,转化贡献统计(集中贡献),主客翻转关于topsort:部分分里的树结构基本上直接暗示了正解要使用topsort,而且本来函......
  • 【STM32+HAL库】---- 驱动MAX30102心率血氧传感器
    硬件开发板:STM32F407VET6软件平台:cubemax+keil+VScode1MAX30102心率血氧传感器工作原理MAX30102传感器是一种集成了红外光源、光电检测器和信号处理电路的高度集成传感器,主要用于心率和血氧饱和度的测量。以下是MAX30102传感器的主要特点和工作原理:红外光源:MAX30102传感器......
  • 2024-04-19---中等题---移动石子直到连续(贪心)
    移动石子直到连续(贪心)题目:思路:这道题是有小技巧的,和一些棋盘题有些类似。利用贪心的极致选择,可以直接把情况划分完。最少的移动次数:当三个石子连续放置的时候,最小移动次数为0.当三个石子中只要有两个石子的距离小于2,即可只需移动另外一个石子1次完成。其他情况都是最小2......
  • 2024.04.19每日收获之链表与逻辑操作
    今日处理工作时遇到了一个问题,操作非连发按键时也会唤醒机器,但不会有连发动作,查看代码了解到也是历史遗留问题。它采用掩码形式,将多个按键键值或运算到一起,最后在与收到的按键值与运算来查看该按键是否可以连发,这样有一个弊端,即多个按键的按键值占用多个位,会导致非连发按键的键值......
  • 2024.4.19
    2024.4.19【你知道的都是真相。只可惜那些并不是真相的全部。】Friday三月十一谷雨<BGM="谷雨--音阙诗听">AC:AnswerCoarse,粗劣的答案​CE:CompileEasily,轻松通过​PC:PerfectCompile完美的编译​WA:WonderfulAnswer,好答案​RE:RunExcellently,完......
  • 盘点 | 2024 年最值得关注的十大 ETL 数据集成工具
    数据为数字经济的发展提供了不可或缺的动力支持。近年来,全球数据量呈井喷式发展。根据国际数据公司(IDC)预测,2025年全球数据量将达到163ZB。随着数据量指数级增长,数据分析算法和技术迭代更新,数据创新应用和产业优化升级,数据对社会变革的影响将更加深远。然而,如果没有适当的方法来......
  • 应用程序无法正常启动(0xc0150002)问题思路
    应用程序无法正常启动(0xc0150002)的解决思路背景介绍一测试朋友,因为重装了操作系统,然后之前的工具突然无法使用了。现象现象1现象2解决现象1很显然,缺少运行库。你如果安装了visualstudio,那么其安装目录下xxx\MicrosoftVisualStudio\2019\Professional\VC\Re......