jeecg自定义按钮使用exp属性不起作用
jeecg自定义按钮使用exp属性不起作用
为什么要写这篇文章?
之前写过一篇类似的文章 jeecg笔记之自定义显示按钮exp属性,但是有些小伙伴留言参考后不起作用,当时我的 jeecg 版本为3.7.5,最终以版本不同,暂时搁浅了。
今天,重新回到这个问题,一起去讨伐这个不起效果的 exp。
前台参考界面
因为重新拉取的新版本 jeecg(3.8),没有合适的场景演示,那么就参考一下官方的使用案例吧。
Online表单开发界面(cgFormHeadList.jsp):
主要参考代码部分:
<t:dgFunOpt exp="isDbSynch#eq#N" title="sync.db" funname="doDbsynch(id,content)" urlclass="ace_button" urlfont="fa-database"/><t:dgFunOpt exp="isDbSynch#eq#Y&&jformType#ne#3" funname="addbytab(id,content)" title="form.template" urlclass="ace_button" urlStyle="background-color:#5F9EA0" urlfont="fa-cog"></t:dgFunOpt><t:dgFunOpt exp="isDbSynch#eq#Y&&jformType#ne#3" funname="addlisttab(tableName,content)" title="function.test" urlStyle="background-color:#18a689;" urlclass="ace_button" urlfont="fa-gavel"></t:dgFunOpt><t:dgFunOpt exp="isDbSynch#eq#Y&&jformType#ne#3" funname="popMenuLink(tableName,content)" title="config.place" urlStyle="background-color:#1a7bb9;" urlclass="ace_button" urlfont="fa-cog" ></t:dgFunOpt><t:dgFunOpt funname="copyOnline(id)" title="复制表单" operationCode="copyOnlineTable" urlclass="ace_button" urlfont="fa-copy"></t:dgFunOpt><t:dgFunOpt exp="hasPeizhi#ne#0" funname="propertyTable(id)" title="配置表" urlclass="ace_button" urlfont="fa-cog"></t:dgFunOpt>
当我看到新版本这几行代码的时候,感觉哪里怪怪的,这跟上几个版本差不多呀!
信誓旦旦的去比对了一下两个文件的差异,如下:
事实证明,确实没有差距,只是新版本宽度样式稍微变化了一下。
分析一行代码部分(功能测试按钮):
<t:dgFunOpt exp="isDbSynch#eq#Y&&jformType#ne#3" funname="addlisttab(tableName,content)" title="function.test" urlStyle="background-color:#18a689;" urlclass="ace_button" urlfont="fa-gavel"></t:dgFunOpt>
表达式:isDbSynch#eq#Y&&jformType#ne#3
- isDbSynch:属性字段,注意是实体字段,非数据库表字段列名称
- eq:条件判断中的等于,ne 为不等于
- empty:为空判断,条件为 true 或者 false。
补充
关于 exp 具体实现代码部分,在此就不展开说明了,感兴趣的小伙伴可以看一下这个类 DataGridTag.java 的 2552 行代码:
String exp = dataGridUrl.getExp();// 判断显示表达式if (StringUtil.isNotEmpty(exp)) { String[] ShowbyFields = exp.split("&&"); for (String ShowbyField : ShowbyFields) { int beginIndex = ShowbyField.indexOf("#"); int endIndex = ShowbyField.lastIndexOf("#"); String exptype = ShowbyField.substring(beginIndex + 1, endIndex);// 表达式类型 String field = ShowbyField.substring(0, beginIndex);// 判断显示依据字段 String[] values = ShowbyField.substring(endIndex + 1, ShowbyField.length()).split(",");// 传入字段值 String value = ""; for (int i = 0; i < values.length; i++) { value += "'" + "" + values[i] + "" + "'"; if (i < values.length - 1) { value += ","; } } if ("eq".equals(exptype)) { sb.append("if($.inArray(rec." + field + ",[" + value + "])>=0){"); } if ("ne".equals(exptype)) { sb.append("if($.inArray(rec." + field + ",[" + value + "])<0){"); } if ("empty".equals(exptype) && value.equals("'true'")) { sb.append("if(rec." + field + "==''){"); } if ("empty".equals(exptype) && value.equals("'false'")) { sb.append("if(rec." + field + "!=''){"); } }}
最后
虽然上方,我通过 3.8 版本重新尝试了 exp 属性,但是你仍然存在无法生效的问题的话,欢迎交流~。
文章作者:niceyoo
文章地址:https://www.cnblogs.com/niceyoo/p/10520278.html
如果觉得文章对你有所帮助,右下方点个推荐~
jeecg自定义按钮使用exp属性不起作用相关推荐
- 4、jeecg 笔记之 自定义显示按钮 (exp 属性)
1.需求 先看一下需求吧,我们希望 datagrid 操作栏中的按钮,可以根据条件进行动态显示. 2.实现 其实 jeecg 提供了一个属性 - exp ,通过该属性即可实现. <t:dgFun ...
- 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
(1)UIButton类继承自UIControl,而UIControl继承自UIView,因为UIView就是个矩形区域,所以UIButton实例化的对象其实都是一个矩形,虽然有各种圆角.增加联系人. ...
- css笔记——css 实现自定义按钮
css实现自定义按钮的样式实际上很早就有了,只是会用的人不是很多,里面涉及到了最基础的css写法,在火狐中按钮还是会显示出来,这时需要将i标签的背景设置为白色,同时z-index设置比input高一些 ...
- jeecg自定义datagrid查询
jeecg自定义datagrid查询 为什么要写这篇文章? 我们了解,使用 jeecg 提供的 CriteriaQuery 查询方式,确实能满足绝大数的需求,但是往往有那么个比较复杂的情况,需要我们直 ...
- java中点击按钮出现echarts图表_echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮...
echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮 >>>>>>>>>>>>>>&g ...
- ODOO13 JS 自定义按钮后续来了
在之前的一篇文章中,说明了怎么在 创建/导入/编辑 等按钮后自定义一个功能性按钮. ODOO 自定义按钮[基于odoo12,odoo13],在这篇的文章中,我忘记把JS处理的部分贴出来,所以我决定把这 ...
- 使用RAD Studio 10 Seattle创建自定义按钮样式
在RAD Studio 10 Seattle中,我们对IDE中的集成样式设计器进行了许多增强.在今天的帖子中,我想我将介绍使用RAD Studio 10 Seattle创建自己的自定义按钮样式的步骤. ...
- Android自定义按钮样式
安卓系统自带的按钮样式很不好看,满足不了感官需求,如何自定义一个自己需要的按钮样式呢? 分三步来介绍: 1.自定义按钮背景样式,在res/drawable/目录下新建bg_btn.xml文件. < ...
- 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例
文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...
最新文章
- 负载均衡算法-轮询均衡
- 以上帝模式管理Windows系统
- DSP/BIOS中的数据类型
- 223. Rectangle Area
- python-文件基本操作(二)
- 事务里面捕获异常_spring 事务回滚
- 磁盘和文件系统的管理
- 181116每日一句
- 写一个上班看股票的小软件
- pay.onzan.en app.php,IBOS 协同办公平台PHP版 v1.0
- bin文件合并工具(UBIN)使用方法
- Let's Encrypt申请证书-保姆教程
- 学校选课系统服务器繁忙,大学选课没选到怎么办
- srsRAN源码分析----enb端协议栈是如何运作
- access中本年度的四月一日_吉林十二中古时孔夫子栽银杏设坛讲学 今日十二中植银杏校园生辉...
- 格灵深瞳,天才AI公司跌入谷底之后 | 小败局
- linux 建树软件,新一代建树工具IQ-Tree介绍
- 电视剧《天道》里的商业思维
- 互联网公司常用的DevOps 工具,你都认识吗?
- java代码审计常见漏洞_java代码审计基础教程之V2会议系统多个漏洞集合/无需登录...
热门文章
- [html] 什么是空元素?常用的空元素有哪些?
- [css] 你有用过弹性布局吗?说说你对它的理解
- 工作197:判断对象里面是否有0和1
- 前端学习(2565):watch监听
- 前端学习(2247)为什么用git-new
- 前端学习(1754):前端调试值之监控页面重绘的技巧
- mybatis学习(36):动态sql-set
- mybatis学习(3):映射文件的配置和接口创建
- java学习(178):终篇?静态代理?动态代理?
- PHP检查微信域名屏蔽接口,微信域名检测API接口,实时查询域名是否被微信拦截...