Finereport11 类Excel筛选

这篇具有很好参考价值的文章主要介绍了Finereport11 类Excel筛选。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信公众号:次世代数据技术
关注可了解更多的教程。问题或建议,请公众号留言或联系本人;
微信号:weibw162
本教程视频讲解可以关注本人B站账号进行观看:weibw162

一、需求描述

在使用FIneReport软件开发时,我们希望前台报表展示时可以类似Excel表格筛选那样,在表头进行多选筛选过滤显示数据。其效果如下图所示:

针对以上需求,本文提出一种可行的方案,其大致步骤如下:

  1. 在原表需过滤字段后面增加一个单元格放置下拉框。
  2. 将下拉框的字典配置为该字段的去重列表。
  3. 下拉框编辑结束时将值传递给指定的参数控件,并提交查询。
  4. 使用填报预览,可以直接在单元格中使用控件。
  5. 在页面初始化时通过JS调整前台样式,隐藏参数栏等。

注1:不支持移动端填报。
注2:本文涉及到的技术及流程均仅在FineReport 11.0 版本进行实际验证,如果您在使用其他版本过程中出现问题可以联系本作者。

二、具体操作

第一步

示例所需数据集,如下:

-- ds1 数据集
select 订单ID,substr(订购日期,0,11) as 订购日期,客户ID,雇员ID,运货商,运货费,货主名称,货主地址

from S订单
where 1=1
${if(len(订单ID)==0,"","and 订单ID in ('"+订单ID+"')")}
${if(len(订购日期)==0,"","and substr(订购日期,0,11) in ('"+订购日期+"')")}
limit 50

-- 参数 订单ID数据集
select distinct 订单ID from S订单

-- 参数订购日期数据集
select distinct substr(订购日期,0,11) as 订购日期 from S订单

其参数控件也皆在参数栏方式好,配置好。

第二步

打开模板,在模板需要调整的字段右侧增加单元格用来存放下拉框控件,同时将下方数据表字段和右侧的空白单元格进行合并。

同时,需要调整单元格的对齐及边框,使其尽可能像是在同一个单元格中。
值得注意的是,下拉框的单元格要稍小一些,否则容易造成图标的错位,同时,下拉框所在的单元格要设置成不自动调整。

第三步

给控件配置其数据字典。并调整控件返回的数据类型为字符串,且分隔符同时调整为','

第四步

给控件增加一个编辑结束事件,并写入如下代码:

JavaScript 代码如下:

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

第五步

点击左上角 模板->模板web属性->填报页面设置->事件设置 中增加加载结束事件,并写入如下JavaScript脚本。同时,需要将直接显示控件选项勾选,将使用工具栏取消勾选。

JavaScript 代码如下:

// 去除控件的边框
$(".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("订单ID").getValue());
_g().setCellValue("E1", _g().getParameterContainer().getWidgetByName("订购日期").getValue());
// 去除左上角红色角标
$(".dirty").removeClass("dirty");

第六步

通过拖拽将整个参数栏隐藏

第七步

将para组件下的点击查询前不显示报表内容取消勾选。

完成以上步骤后,我们直接点击左上角的选择填报预览按钮,即可在浏览器中查看到与文章开头效果图类似的报表。

三、模板文件下载

链接: https://pan.baidu.com/s/1MkSKGONyM9iSAeTAxoAD1w?pwd=x42e 提取码: x42e 复制这段内容后打开百度网盘手机App,操作更方便哦

如果您在阅读或实际操作过程中有问题,可以随时添加作者好友进行咨询。文章来源地址https://www.toymoban.com/news/detail-844269.html

到了这里,关于Finereport11 类Excel筛选的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python学习:爬虫爬取微信公众号数据

    参考: https://blog.csdn.net/qq_45722494/article/details/120191233 1、登录微信公众平台 这里我注册了个微信公众号 点击图文消息 点击超链接 搜索要爬取的公众号名称 获取appmsg?action… 上述第一步可以获取到cookie、fakeid、token、user_agent等,编辑成wechat.yaml文件,如下所示 代码如下: 因为阅读

    2024年01月24日
    浏览(51)
  • Excel修改日期格式,改变日期的筛选方式

    我们有两列日期数据: 左边这一列筛选会显示: 右边这一列筛选会显示: 将【日期1】的格式修改为文本格式即可 选中日期2,点击【数据】–【分列】,然后什么都不用操作直接点击完成,即可转变格式…

    2024年02月14日
    浏览(60)
  • 让WPF中的DataGrid像Excel一样可以筛选

    在默认情况下,WPF提供的DataGrid仅拥有数据展示等简单功能,如果要实现像Excel一样复杂的筛选过滤功能,则相对比较麻烦。本文以一个简单的小例子,简述如何通过WPF实话DataGrid的筛选功能,仅供学习分享使用,如有不足之处,还请指正。 在本示例中,从数据绑定,到数据展

    2024年01月17日
    浏览(38)
  • Excel 合并单元格筛选时只出现首行

    如果对合并单元格直接筛选,只能筛选出第一个单元格的值 Excel筛选单元格时,遇到不连续区域(即中间有空白单元格)会识别不到后续内容; 合并单元格后, 除首行外, 其余行的值会被自动清空, 从而导致在筛选单元格的时候, 只会显示合并单元格的第一个单元格以及

    2024年02月13日
    浏览(151)
  • VBA技术资料MF34:检查Excel自动筛选是否打开

    【分享成果,随喜正能量】聪明人,抬人不抬杠;傻子,抬杠不抬人。聪明人,把别人抬得很高,别人高兴、舒服了,看你顺眼了,自然就愿意帮你!而傻人呢?不分青红皂白,和人家抬杠,别人不高兴、不舒服,怎么会愿意帮你呢?果真是:会说话的想着说,不会说话的抢

    2024年02月15日
    浏览(41)
  • 【EasyExcel】导出excel冻结表头和冻结指定列并支持筛选器

    需求背景:         导出excel的同时冻结表头和前两列基础信息,方便导出后用户查看信息。 一、技术选型:         easyExcel的自定义写策略处理:SheetWriteHandler 二、方案设计:(基于实现 SheetWriteHandler 接口)         1、重写afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder,

    2024年01月24日
    浏览(47)
  • 64位WIN11安装MYSQL、ODBC链接工具并进行EXCEL数据连接

    目的 :安装MYSQL + MYSQL WORKBENTCH + MYSQL ODBC,并将外部.sql脚本文件内容通过MYSQL WORKBENTCH导入数据库,然后利用MYSQL ODBC将此内容导入EXCEL。 过程 :分为4个大的步骤,需要三个安装包,我放在网盘里链接:https://pan.baidu.com/s/1-oj9AUonumdQrPse3FrSpw 提取码:lyky 一、 安装MYSQL(数据库) 二

    2024年02月04日
    浏览(55)
  • 微信小程序实现下拉筛选

    不多说直接上代码 1、WXML代码: 2、 WXSS代码: 3、JS代码:

    2024年02月16日
    浏览(55)
  • 微信小程序实现筛选的功能

    在页面加载的时候,显示最原始的数据,当我们点击按钮的时候,触发筛选的功能,只显示符合条件的数据,再次点击的时候取消筛选的功能,显示原本的数据 在数据的显示过程中,可以设置一个临时的数组,在筛选的时候将临时数组清空,取消筛选的时候再将数值重新赋值

    2024年02月14日
    浏览(40)
  • 微信小程序 -- 数据库数据excel文件批量导入

    一、excel文件批量导入数据到数据库 1.创建node.js函数upload,点击upload右键外部终端中安装类库 2.云函数代码 js代码

    2024年02月12日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包