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
如果觉得文章对你有所帮助,右下方点个推荐~


posted @ 2019-03-12 22:59 niceyoo 阅读(...) 评论(...) 编辑 收藏

jeecg自定义按钮使用exp属性不起作用相关推荐

  1. 4、jeecg 笔记之 自定义显示按钮 (exp 属性)

    1.需求 先看一下需求吧,我们希望 datagrid 操作栏中的按钮,可以根据条件进行动态显示. 2.实现 其实 jeecg 提供了一个属性 - exp ,通过该属性即可实现. <t:dgFun ...

  2. 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置

    (1)UIButton类继承自UIControl,而UIControl继承自UIView,因为UIView就是个矩形区域,所以UIButton实例化的对象其实都是一个矩形,虽然有各种圆角.增加联系人. ...

  3. css笔记——css 实现自定义按钮

    css实现自定义按钮的样式实际上很早就有了,只是会用的人不是很多,里面涉及到了最基础的css写法,在火狐中按钮还是会显示出来,这时需要将i标签的背景设置为白色,同时z-index设置比input高一些 ...

  4. jeecg自定义datagrid查询

    jeecg自定义datagrid查询 为什么要写这篇文章? 我们了解,使用 jeecg 提供的 CriteriaQuery 查询方式,确实能满足绝大数的需求,但是往往有那么个比较复杂的情况,需要我们直 ...

  5. java中点击按钮出现echarts图表_echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮...

    echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮 >>>>>>>>>>>>>>&g ...

  6. ODOO13 JS 自定义按钮后续来了

    在之前的一篇文章中,说明了怎么在 创建/导入/编辑 等按钮后自定义一个功能性按钮. ODOO 自定义按钮[基于odoo12,odoo13],在这篇的文章中,我忘记把JS处理的部分贴出来,所以我决定把这 ...

  7. 使用RAD Studio 10 Seattle创建自定义按钮样式

    在RAD Studio 10 Seattle中,我们对IDE中的集成样式设计器进行了许多增强.在今天的帖子中,我想我将介绍使用RAD Studio 10 Seattle创建自己的自定义按钮样式的步骤. ...

  8. Android自定义按钮样式

    安卓系统自带的按钮样式很不好看,满足不了感官需求,如何自定义一个自己需要的按钮样式呢? 分三步来介绍: 1.自定义按钮背景样式,在res/drawable/目录下新建bg_btn.xml文件. < ...

  9. 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例

    文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...

最新文章

  1. 负载均衡算法-轮询均衡
  2. 以上帝模式管理Windows系统
  3. DSP/BIOS中的数据类型
  4. 223. Rectangle Area
  5. python-文件基本操作(二)
  6. 事务里面捕获异常_spring 事务回滚
  7. 磁盘和文件系统的管理
  8. 181116每日一句
  9. 写一个上班看股票的小软件
  10. pay.onzan.en app.php,IBOS 协同办公平台PHP版 v1.0
  11. bin文件合并工具(UBIN)使用方法
  12. Let's Encrypt申请证书-保姆教程
  13. 学校选课系统服务器繁忙,大学选课没选到怎么办
  14. srsRAN源码分析----enb端协议栈是如何运作
  15. access中本年度的四月一日_吉林十二中古时孔夫子栽银杏设坛讲学 今日十二中植银杏校园生辉...
  16. 格灵深瞳,天才AI公司跌入谷底之后 | 小败局
  17. linux 建树软件,新一代建树工具IQ-Tree介绍
  18. 电视剧《天道》里的商业思维
  19. 互联网公司常用的DevOps 工具,你都认识吗?
  20. java代码审计常见漏洞_java代码审计基础教程之V2会议系统多个漏洞集合/无需登录...

热门文章

  1. [html] 什么是空元素?常用的空元素有哪些?
  2. [css] 你有用过弹性布局吗?说说你对它的理解
  3. 工作197:判断对象里面是否有0和1
  4. 前端学习(2565):watch监听
  5. 前端学习(2247)为什么用git-new
  6. 前端学习(1754):前端调试值之监控页面重绘的技巧
  7. mybatis学习(36):动态sql-set
  8. mybatis学习(3):映射文件的配置和接口创建
  9. java学习(178):终篇?静态代理?动态代理?
  10. PHP检查微信域名屏蔽接口,微信域名检测API接口,实时查询域名是否被微信拦截...