1、需求

先说一下需求场景吧,我们知道 jeecg 中提供了下拉,其中包含两种使用场景;

一种是直接通过 t:dictSelect 使用,再就是 t:dgCol  用于表头的列表工具条标签;

总之就是这个样子

需求来了,我们想要下拉的数据有个排序,比如原来没有排序的

再来看一下数据字典表中的数据如下:

然后,我们希望通过 类型编码做一个 倒序的排序,最终的效果如下:

2、解决过程

首先通过查找资料了解到,下拉中有个 dictionary 属性,可以通过自定义字典实现效果,格式:表名,编码,显示文本;

但是想使用自定义字典需要结合 dictCondition(自定义字典表的显示文本-字典查询条件) 属性;

在 DataGridTag 类 559 行找到了,找到了字典查询条件 dictCondition 的使用

图片展示已经很明确了,就是一个 sql 的拼装,我们只需要能把 sql 写出来就完事了,如下图

SELECT a.typecode,a.typename FROM t_s_type a 

,t_s_typegroup b WHERE a.typegroupid = b.id  

AND b.typegroupcode = 'mwo_work_order_status' ORDER BY typecode DESC 

因为界面要用到编码以及显示文本,所以只需要 typecode、typename作为显示项。

我们再来看一下自定义字典的格式 【表名,编码,显示文本】

<t:dgCol title="啦啦啦"  field="xxx"  queryMode="single" query="true"
dictionary="t_s_type,a.typecode,a.typename"
dictCondition="a ,t_s_typegroup b WHERE a.typegroupid = b.id
AND b.typegroupcode = 'mwo_work_order_status' ORDER BY typecode DESC ">
</t:dgCol>

dictionary="t_s_type,a.typecode,a.typename"  >>> 表名,编码,显示文本

dictCondition="a ,t_s_typegroup b WHERE a.typegroupid = b.id  AND b.typegroupcode = 'mwo_work_order_status' ORDER BY typecode DESC "

最终拼接起来的 sql 如上边那段了。

再给一个参考:

<t:dictSelect field="mwoApplyDelayProcess" type="radio"
dictTable="t_s_type a ,t_s_typegroup b"
dictField="a.typecode,a.typename,a.typecode"
dictCondition="WHERE a.typegroupid = b.id AND b.typegroupcode = 'mwo_apply_delay_process' AND a.`typecode` IN (2,3)"
dictText="typename"
defaultVal="${myyWorkOrderPage.mwoApplyDelayProcess}" hasLabel="false" title="申请延期状态" datatype="*">
</t:dictSelect>

3、最后

这种实现方式是比较。。那啥的。。不喜勿喷,欢迎补充。

博客地址:http://www.cnblogs.com/niceyoo

18年专科毕业后,期间一度迷茫,最近我创建了一个公众号用来记录自己的成长

2、jeecg 笔记之 t:dictSelect 或 t:dgCol 自定义字典的更多相关文章

  1. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  2. 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴

    1.datagrid 操作按钮(按钮样式) 操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt"  ></ ...

  3. 8、jeecg 笔记之 自定义word 模板导出(一)

    1.前言 jeecg 中已经自带 word 的导出导出功能,其所使用的也是 easypoi,尽管所导出的 word 能满足大部分需求, 但总是有需要用到自定义 word导出模板,下文所用到的皆是 ea ...

  4. 6、jeecg 笔记之 自定义excel 模板导出(一)

    1.前言 jeecg 中已经自带 excel 的导出导出功能,其所使用的是 easypoi,尽管所导出的 excel 能满足大部分需求, 但总是有需要用到自定义 excel 导出模板,下文所用到的皆是 ...

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

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

  6. 5、jeecg 笔记之 minidao 条件判断

    1.前言  我们知道 mybatis 中的动态sql语句是基于 OGNL 表达式的.  额外补充一点:mybatis 中的 #{} 和 ${} ,可直接跳过.   #{}表示一个占位符号,#{}接收输 ...

  7. 3、jeecg 笔记之 模糊查询

    1.前言 jeecg 考虑到默认模糊查询的话,会增加系统压力,导致查询慢,本来系统就挺那啥的... 2.方式一之实体赋值 实体重新赋值查询,用 * %% * 实现,我们知道 sql 中通常使用 % 去 ...

  8. 1、jeecg 笔记开篇

    1. 前言 终究还是入了 jeecg 的 "坑",国庆后公司采用该框架开发,故开篇记录. 虽说入"坑",但不得不承认 jeecg 确实是一个非常强大的平台. 其 ...

  9. UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)

     1. DictSelect (数据字典下拉选择框) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field s ...

随机推荐

  1. .NET HttpPost 上传文件图片到服务器

    public class ImageData { public string imageFilePath { get; set; } public string tempFilePath { get; ...

  2. TCP 协议简析

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接.它是个超级麻烦的协议, ...

  3. make -j8以及linux下查看cpu的核数

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...

  4. SQL Server 2016新特性:Query Store

    使用Query Store监控性能 SQL Server Query Store特性可以让你看到查询计划选择和性能.简化了性能调优,可以快速的发现因为查询计划的选择导致的性能的差别.Query Sto ...

  5. SQL注入学习资料总结

    转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html  什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...

  6. lbs@node(lbs asp blog 移植到 nodejs)

    lbs@node 2018年的4月26日,我在自己的idea清单中,加上了一条"基于 nodejs 移植 lbs 博客系统". 一.lbs 是什么东东? 它是一款比较小众的博客程序 ...

  7. 关于QQ邮箱有时候接受不到邮件的解决

    1.很可能是被当作垃圾邮件拦截了,这时候就要自己找回 2.首先点击邮箱首页 3.在最后一行倒数第三个选择自助查询 4.一般在收信查询或者删信查询里面,找到被删的邮件,添加到白名单就好了

  8. Glide和Govendor安装和使用

    两个都是Go的包管理工具,二选一 Glide参考:golang 依赖管理 /etc/profile #Go export GOROOT=/home/lintong/software/go export ...

  9. Logstash安装和使用

    Logstash 是开源的服务器端数据处理管道,能够同时 从多个来源采集数据.转换数据,然后将数据发送到您最喜欢的 “存储库” 中.(我们的存储库当然是 Elasticsearch.) 作用:集中.转 ...

  10. Python学习笔记——发邮件

    参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...