文档章节

jeecg3.5中为dgCol标签增加自定义格式化列中的数值的功能

z_jordon
 z_jordon
发布于 2015/04/22 14:11
字数 407
阅读 4014
收藏 1

jeecg3.5中只有formatter属性,只支持格式化时间格式的数据,不支持自定义格式化列中的值的功能,比如想把列中的的一个int或long型的值除以100转成float或doulbe值,jeecg3.5版本就不支持类似customFormatter这样属性,本文为jeecg3.5增加这个功能,主要修改的代码如下:

org.jeecgframework.tag.core.easyui.DataGridColumnTag

//51行 
private String customFormatter;
//190-192行
public void setCustomFormatter(String customFormatter) {
		this.customFormatter = customFormatter;
	}
//58行
parent.setColumn(title,field,width,rowspan,colspan,align,sortable,checkbox,formatter,hidden,replace,treefield,image,imageSize,query,url,funname,arg,queryMode, dictionary,frozenColumn,extend,style,downloadName,autocomplete,extendParams, customFormatter);

org.jeecgframework.tag.core.easyui.DataGridTag

//257行
String style,String downloadName,boolean isAuto,String extendParams, String customFormater) {
//285行
dataGridColumn.setCustomFormater(customFormater);
//1082-1087行
//自定义格式化数据函数
if (column.getCustomFormater() != null && column.getReplace() == null && column.getDictionary() == null) {
				//如果页面上有replace或distionary属性,则不单独单重自定义函数.
				sb.append(",formatter:function(value,rec,index){");
				sb.append("return ").append(column.getCustomFormater()).append("(value, rec, index);");
				sb.append("}");
			}
//1101-1125行
if (column.getCustomFormater() == null) {
							for(int j = 0; j < value.length; j++){
								sb.append("if(valArray[k] == '" + value[j] + "'){ checkboxValue = checkboxValue + \'" + text[j] + "\' + ','}");
							}
						} else {
							for(int j = 0; j < value.length; j++){
								sb.append("if(valArray[k] == '" + value[j] + "'){ checkboxValue = checkboxValue + ");
								sb.append(column.getCustomFormater()).append("(\'").append(text[j]).append("\') + ','}");
							}
						}
						
						sb.append("}");
						sb.append("return checkboxValue.substring(0,checkboxValue.length-1);");
						sb.append("}");
						sb.append("else{");
						if (column.getCustomFormater() == null) {
							for (int j = 0; j < value.length; j++) {
								testString += "if(value=='" + value[j] + "'){return \'" + text[j] + "\'}";
							}
						} else {
							for (int j = 0; j < value.length; j++) {
								testString += "if(value=='" + value[j] + "'){return ";
								testString += column.getCustomFormater() + "(\'" + text[j] + "\')}";
							}
						}

org.jeecgframework.tag.vo.easyui.DataGridColumn

//39行
private String customFormater;//自定义格式化数据函数
//253-259行
public String getCustomFormater() {
		return customFormater;
	}

	public void setCustomFormater(String customFormater) {
		this.customFormater = customFormater;
	}

WEB-INF/tld/easyui.tld

<!-- 334-338行-->
<attribute>
			<name>customFormatter</name>
			<rtexprvalue>true</rtexprvalue>
			<description>自定义格式分数据函数</description>
		</attribute>


© 著作权归作者所有

共有 人打赏支持
z_jordon
粉丝 36
博文 251
码字总数 78212
作品 0
厦门
技术主管
私信 提问
UI标签库专题二:JEECG智能开发平台Column(列) 子标签

UI标签库专题二:JEECG智能开发平台Column(列) 子标签  1.1. Column(列) 子标签 1.1.1. 示例 <t:dgCol title="年龄" field="age" query="true" extend="{data-options:{required:false,......

Jeecg
2014/06/03
0
0
SylixOS网络数据异步处理原理

一. 网络数据异步处理简介 SylixOS中为了解决网络数据拥堵的问题,采取数据异步处理的方式,提供了网络工作队列。采用网络工作队列,可以使得网卡驱动程序无需阻塞等待处理完成。 SylixOS内核...

时尚小乌龟
2017/11/22
0
0
Excel剪切板:工具用到极致就是神器

图/文 | 安伟星 来源 | 精进Excel Excel中复制粘贴我们都习以为常了,我们复制出来的项目,其实都可以临时存储在一个叫做“剪贴板”的地方,而且Excel剪切板有两大特性: 1、所见即所得:剪切...

安伟星
2017/10/09
0
0
FreeMarker模板文件基本语法

FreeMarker模板文件原样输出EL表达式看下面代码: 文件将会直接输出.看如下代码: ${r"${queryPage.page}"} ${r"C:foobar"} 输出结果是: ${queryPage.page} C:foobar ----------------------...

guhai2004
2016/02/20
262
0
FreeMarker模板文件的组成及基本语法详解(一)

FreeMarker模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1. 文本:直接输出的部分 2. 注释:<#-- ... -->格式部分,不会输出 3. 插值:即${...}或#{...}格式的部分...

oecp
2011/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring核心概念--Spring01

小生初出程序茅庐,走上编程之路,还请各位大佬多多管照。 初学Spring框架: 创建HelloWorldSpring项目 用eclipse开发Web项目,添加jar包: commons-logging-1.2.jar log4j-1.2.17.jar spring-...

小橙子的曼曼
10分钟前
1
0
MySQL 运行状态监控方法

一、通过shell脚本监控mysql的qps,tps,io详细见附件脚本《mysqlgather.sh》 因在脚本中直接设置密码会提示告警信息,需要在my.cnf文件中的[client]标签下增加默认的用户名和密码,并重启mys...

PeakFang-BOK
14分钟前
1
0
ROS实操笔记 四 topic (主题)

主题 消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,...

placido
15分钟前
1
0
【NLP】【六】gensim之doc2vec

【一】总述 doc2vec是指将句子、段落或者文章使用向量来表示,这样可以方便的计算句子、文章、段落的相似度。 【二】使用方法介绍 1. 预料准备 def read_corpus(fname, tokens_only=False):...

muqiusangyang
18分钟前
0
0
node中process.nextTick & promise & 异步IO & setTimeout & setImmediate 的优先级

process.nextTick > promise > setTimeout > 异步IO > setImmediate

小草先森
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部