当前位置: 首页 > news >正文

入门插件开发-列表插件开发-第三节:案例演示——setFilter事件讲解

1.案例二:setFilter事件讲解

场景:
以采购申请单为案例。

  1. 移除常用过滤条件&取消带组织模板的组织过滤条件
  2. 添加单据状态=已审核,按单据编号升序排序

涉及事件: setFilter

事件介绍:
事件可以调整过滤条件内容、追加条件,从而影响列表取数。

事件触发时机:
单据列表控件,在构建好取数条件,准备重新取数之前,触发此事件。

功能效果展示1:
在这里插入图片描述
功能效果展示2:
在这里插入图片描述
关键代码:

    @Overridepublic void setFilter(SetFilterEvent e) {super.setFilter(e);//移除常用过滤条件List<QFilter> qFilters = e.getQFilters();Iterator<QFilter> iterator = qFilters.iterator();while (iterator.hasNext()){QFilter next = iterator.next();iterator.remove();}//取消带组织模板的组织过滤条件QFilter mainOrgQFilter = e.getMainOrgQFilter();e.setMainOrgQFilter(null);//添加过滤条件QFilter qFilter = new QFilter("billstatus", QCP.equals,"C");e.getQFilters().add(qFilter);//设置列表排序,如果是多个排序条件可以用逗号分隔e.setOrderBy("billno asc");}

2.案例演示:

①右键点击要创建插件类的包,然后选中新建并点击继承插件——》填写类名——》选择AbstractListPlugin列表插件基类——》点击确定
在这里插入图片描述
②继承AbstractListPlugin列表插件基类并实现Plugin插件接口的DemoListPlugin02类
在这里插入图片描述
③重写setFilter方法,写入打开列表页面时过滤条件不对列表数据造成影响功能代码

/*** 标准单据列表插件*/
public class DemoListPlugin02 extends AbstractListPlugin implements Plugin {@Overridepublic void setFilter(SetFilterEvent e) {super.setFilter(e);//移除常用过滤条件List<QFilter> qFilters = e.getQFilters();Iterator<QFilter> iterator = qFilters.iterator();while (iterator.hasNext()){QFilter next = iterator.next();iterator.remove();}//取消带组织模板的组织过滤条件QFilter mainOrgQFilter = e.getMainOrgQFilter();e.setMainOrgQFilter(null);//添加过滤条件QFilter qFilter = new QFilter("billstatus", QCP.equals,"C");e.getQFilters().add(qFilter);//设置列表排序,如果是多个排序条件可以用逗号分隔e.setOrderBy("billno asc");}
}

④添加DemoListPlugin02列表插件类
在这里插入图片描述
⑤过滤条件不对列表造成影响
在这里插入图片描述

相关文章:

  • LLMs之RAG:MemoRAG(利用其记忆模型来实现对整个数据库的全局理解)的简介、安装和使用方法、案例应用之详细攻略
  • 【自学笔记】支持向量机(4)——支持向量回归SVR
  • 国内可用ChatGPT-4中文镜像网站整理汇总【持续更新】
  • 三.python入门语法2
  • OSPF相关基础介绍及基础配置,网络工程师必修
  • redis Redis-Cluster常用命令与Redis性能监控
  • SSH防止暴力破解
  • 2024东湖高新下半年水测公示名单啦
  • 把命令的语气改成聊天的方式
  • 部署Activiti Modeler全流程(工作流引擎Activiti设计插件)
  • 软件测试CNAS实验室认证|检测报告三级审核,每一级审核什么?
  • tensorflow底层架构
  • 恢复丢失的数据:恢复数据库网络解决方案
  • 水平分库分表的方法策略
  • Android开发小贴士
  • ----------
  • Date型的使用
  • eclipse的离线汉化
  • Java 多线程编程之:notify 和 wait 用法
  • laravel with 查询列表限制条数
  • Lsb图片隐写
  • nodejs调试方法
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • SpiderData 2019年2月25日 DApp数据排行榜
  • VUE es6技巧写法(持续更新中~~~)
  • Vue2 SSR 的优化之旅
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 解析 Webpack中import、require、按需加载的执行过程
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端攻城师
  • 前端知识点整理(待续)
  • 跳前端坑前,先看看这个!!
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 智能合约开发环境搭建及Hello World合约
  • 智能网联汽车信息安全
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • AI算硅基生命吗,为什么?
  • Android开发者必备:推荐一款助力开发的开源APP
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (第一天)包装对象、作用域、创建对象
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十五)使用Nexus创建Maven私服
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB