2、jeecg 筆記之 t:dictSelect 或 t:dgCol 自定義字典


轉載:https://www.cnblogs.com/niceyoo/p/9827668.html

 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM